# VSSM (VintageStory Server Manager) *A server manager for VintageStory* ## IMPORTANT INFORMATION This project is currently in development, and thus everything is subject to change ## About VSSM allows you to create and manage multiple VS servers ## Installation and Usage There are no binaries just yet, so you have to download the source files. Setup is easy from source, all you need is: - Linux - Go - .NET 10 Runtime **If you are using NixOS, a flake.nix is provided, just run `nix develop` for a full development enviroment** - Once you have the source code downloaded or cloned, you can run `go build` to generate an executable. - Run `./vssm daemon` to start the daemon - *(For now, theres no background service created by default, but you can run it in the background with `vssm daemon &` and kill the process with `pkill vssm`)* - Run `./vssm` with no arguments to show usage ## Configuration **For now, the configuration file is stored in `~/.config/vssm/config.json`, but this will be configurable later.** ## Web Interface Alongside this project, I am developing a seperate web-based dashboard that can be used to manage you servers with a very simple UI. You can get it [here](https://git.bellsworne.tech/chrisbell/vssm_web). ## Roadmap - [ ] Configuration - [ ] Custom configuration path (passed to the daemon with a flag `--config-path`) - [ ] Custom application data path (*for templates, etc, and to be used as a base for the other config directories*) - [ ] Daemon listen port (kind of implemented, could be cleaner) - [x] Declarative Server configuration (Create servers in config) - [ ] Server management - [x] Create servers - [x] Automatic server binary downloading by version (*Caveat: This works BUT the configuration template downloader needs to be figured out, otherwise you have to manually add a template for each version before it can actually be ran*) - [ ] Delete servers - [x] Start/Stop servers - [ ] Server configuration - [ ] Download correct configuration template for version - [x] Version - [x] Server Name - [x] Port - [x] Multiple servers support - [x] List servers and their status - [x] Send commands to servers - [ ] Automated server backups - [ ] Binary releases - [ ] Automatically set up background service - [ ] Other - [ ] First class NixOS support - [x] Patch downloaded server binaries for NixOS - [ ] Official nix package or flake - [ ] All configuration options