Giter VIP home page Giter VIP logo

stardew-multiplayer-docker's Introduction

Stardew Valley Multiplayer Docker Compose

This project aims to autostart a Stardew Valley Multiplayer Server as easy as possible.

Side Note

  • Updating to most recent version requires a rebuild: docker-compose build --no-cache
  • Although I'm trying to put out updates, I don't have the time for testing, so I recommend forking and fixing things on your own.
  • Ansible and Terraform will not be supported anymore
  • Thanks to the brilliant configuration script from Novex and the genius baseimage from jlesage this now looks a bit better

Setup

Docker-Compose

git clone https://github.com/printfuck/stardew-multiplayer-docker

docker-compose up

Ansible !deprecated!

Create an inventory file with your hosts

ansible -i <your_inventori> playbook.yml

Terraform (with Hetzner Cloud) !deprecated!

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

Game Setup

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.

VNC

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

Web Interface

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.

img

How it works

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.

Used Mods

Troubleshooting

Error Messages in Console

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.

VNC

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.

Performance

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.

stardew-multiplayer-docker's People

Contributors

printfuck avatar ecsport108 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.