This project aims to autostart a Stardew Valley Multiplayer Server as easy as possible.
docker-compose build --no-cache
git clone https://github.com/printfuck/stardew-multiplayer-docker
docker-compose up
Create an inventory file with your hosts
ansible -i <your_inventori> playbook.yml
Enter your API Token in terraform/vars.auto.tfvars
and modify the resource section in main.tf
to your liking, then run the following script:
./terra.sh
Intially you have to create or load a game once via VNC or Web interface. After that the Autoload Mod jumps into the previously loaded savegame everytime you restart or rebuild the container. The AutoLoad Mod config file is by default mounted as a volume, since it keeps the state of the ongoing SaveGame, but you can also copy your existing SaveGame to the Saves
volume and define the SaveGame's name in the environment variables.
Use a vnc client like TightVNC
on Windows or plain vncviewer
on any Linux distribution to connect to the server. You can modify the VNC Port and IP address and Password in the docker-compose.yml
file like this:
Localhost:
# Server is only reachable on localhost on port 2342...
ports:
- 127.0.0.1:2342:5900
# ... with the password "insecure"
environment:
- VNCPASS=insecure
On port 5800 inside the container is a web interface. This is a bit easier and more accessible than just the VNC interface. Although you will be asked for the vnc password, I wouldn't recommend exposing the port to the outside world.
The game will be pulled from my servers (I'll assume you already own the game - since you're looking for a multiplayer - so please don't rip it from there) and the modloader (SMAPI) will be pulled from Github when building the container. You can control the mods's settings with environment variables in the docker-compose.yml
file.
Usually you should be able to ignore any message there. If the game doesn't start or any errors appear, you should look for messages like "cannot open display", which would most likely indicate permission errors.
Access the game via VNC to initially load or start a pregenerated savegame. You can control the Server from there or edit the config.json files in the configs folder.
I'd recomend a VPS/Machine with at least four logical CPUs and 4GB Ram, otherwise there will be horrible lags. The minimum configuration I'd consider playable with two to four players would be two logical CPUs and 1GB of Ram.