docker-space-engineers-server/README.md

70 lines
2.3 KiB
Markdown

# Space Engineers Server on Linux
This is a docker container suitable for running a Space Engineers server.
There is no public prebuilt container image because of microsoft copyright restrictions.
## Setup
- Create the required directory structure.
```bash
mkdir -p space-engineers/{docker,data,steam}
mkdir -p space-engineers/data/Space\ Engineers/{Mods,Saves}
```
- Clone this repository into the home directory of the new user account.
```bash
git clone https://github.com/ChipWolf/se-server.git space-engineers/docker
```
- Obtain a copy of the most current `DedicatedServer.zip` and place it in `~/games/space-engineers/data`. You may use this method below.
```bash
docker run --rm -it -v $(pwd)/space-engineers/steam:/data wilkesystems/steamcmd
# the following 4 commands are for the steamcmd terminal
login anonymous
force_install_dir /data
app_update 298740 validate
quit
```
- At this stage we need to patch a few .dlls to fix an issue with mods not downloading, thanks to [Thomas\_Jefferson](https://forum.keenswh.com/members/thomas_jefferson.3913080/) from the Keen Software House forum for this one.
![](https://i.cwlf.uk/Jxav4.png)
```
cd space-engineers/steam
zip -r ../data/DedicatedServer.zip
cd ../..
sudo chown -R 256:256 space-engineers
```
- Upload your `SpaceEngineers-Dedicated.cfg` and place it in `~/games/space-engineers/data/Space Engineers`. Use the one in this repository and edit it to your liking if you do not already have one.
- **Build the image!** *(This will take a while)*
```bash
space-engineers/docker/build.sh
```
## Running
```bash
docker run -it -p 27016:27016/udp -v $(pwd)/games/space-engineers/data:/host --rm --name space-engineers saiban/space-engineers
```
![](https://i.cwlf.uk/PPXyG.png)
---
## Additional notes
Running SES this way requires a program called `sigmap`, Space Engineers ignores `SIGTERM` when it is sent by docker to stop the service, `sigmap` catches that signal and forwards a `SIGINT` to Space Engineers.
See [here](https://github.com/marjacob/sigmap "sigmap") for more information.
## Credits
The original `Dockerfile` was written by [webanck](https://github.com/webanck "webanck") and can be found [here](https://github.com/webanck/docker-wine-steam "Steam with Docker").
This repo has been adapted from [marjacob](https://github.com/marjacob "marjacob")'s & [ChipWolf](https://github.com/ChipWolf)'s efforts