All Projects → bateau84 → openttd

bateau84 / openttd

Licence: other
openttd docker container

Programming Languages

shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to openttd

Fruit-API
A Universal Deep Reinforcement Learning Framework
Stars: ✭ 61 (+38.64%)
Mutual labels:  games
eug
Modding tools for Paradox games including Europa Universalis IV and Crusader Kings II
Stars: ✭ 36 (-18.18%)
Mutual labels:  games
quakejs
Fork of inolen/quakejs with additonal content server, local play page, and start-stop script
Stars: ✭ 79 (+79.55%)
Mutual labels:  games
psobbaddonplugin
Phantasy Star Online Blue Burst Addon Plugin
Stars: ✭ 17 (-61.36%)
Mutual labels:  games
valorant.py
Complete Python interface for the Valorant API. Works right out of the box!
Stars: ✭ 84 (+90.91%)
Mutual labels:  games
digbot
DigBot is a custom made Discord bot for the DIG gaming community
Stars: ✭ 13 (-70.45%)
Mutual labels:  games
The-Witcher-3-Mod-manager
Mod manager for The Witcher 3 🗃
Stars: ✭ 71 (+61.36%)
Mutual labels:  games
tutorials
Ably Tutorials in multiple languages
Stars: ✭ 35 (-20.45%)
Mutual labels:  games
binarium
Binarium cryptocurrency is the first one protected from ASICs
Stars: ✭ 14 (-68.18%)
Mutual labels:  games
MultiGame
MultiGame is a tool for rapid development in Unity
Stars: ✭ 16 (-63.64%)
Mutual labels:  games
jsynchronous
Jsynchronous.js - Data synchronization for games and real-time web apps.
Stars: ✭ 111 (+152.27%)
Mutual labels:  games
source-engine-model-loader
Three.js loader for parsing Valve's Source Engine models
Stars: ✭ 54 (+22.73%)
Mutual labels:  games
shiromino
A fast-paced puzzle game with roots in the arcade.
Stars: ✭ 28 (-36.36%)
Mutual labels:  games
Steam-Server-Manager
PowerShell Steam Server Manager
Stars: ✭ 33 (-25%)
Mutual labels:  games
NemeStats
NemeStats is a completely free website for tracking board games played among a relatively stable group of players.
Stars: ✭ 43 (-2.27%)
Mutual labels:  games
Nero-Game-Engine
Advanced SFML Game Engine, Designed to be Simple and Intuitive
Stars: ✭ 50 (+13.64%)
Mutual labels:  games
games
Awesome Games
Stars: ✭ 22 (-50%)
Mutual labels:  games
Translator3000
Automatic translator of games made on Ren'Py engine.
Stars: ✭ 78 (+77.27%)
Mutual labels:  games
Manhunt-fix-Windows-10
Manhunt fix for Windows 10 Updated for Windows 10 latest versions
Stars: ✭ 24 (-45.45%)
Mutual labels:  games
TMS9918A
TMS9918A video card for RC2014
Stars: ✭ 104 (+136.36%)
Mutual labels:  games

Docker Image CI
dockeri.co

Usage

File locations

This image is supplied with a user named openttd.
Openttd server is run as this user and subsequently its home folder will be /home/openttd.
Openttd on linux uses .openttd in the users homefolder to store configurations, savefiles and other miscellaneous files.
If you want to your local files accessible to openttd server inside the container you need to mount them inside with -v parameter (see https://docs.docker.com/engine/reference/commandline/run/ for more details on -v)

Environment variables

These environment variables can be altered to change the behavior of the application inside the container.
To set a new value to an enviroment variable use docker's -e parameter (see https://docs.docker.com/engine/reference/commandline/run/ for more details)

Env Default Meaning
savepath "/home/openttd" The path to which autosave wil save
loadgame null load game has 4 settings. false, true, last-autosave and exit.
- false: this will just start server and create a new game.
- true: if true is set you also need to set savename. savename needs to be the name of the saved game file. This will load the given saved game.
- last-autosave: This will load the last autosaved game located in <$savepath>/autosave folder.
- exit: This will load the exit.sav file located in <$savepath>/autosave/.
savename null Set this when allong with loadgame=true to the value of your save game file-name
PUID "911" This is the ID of the user inside the container. If you mount in (-v </path/of/your/choosing>:</path/inside/container>) you would need for the user inside the container to have the same ID as your user outside (so that you can save files for example).
PGID "911" Same thing here, except Group ID. Your user has a group, and it needs to map to the same ID inside the container.
debug null Set debug things. see openttd for debug options

Networking

By default docker does not expose the containers on your network. This must be done manually with -p parameter (see here for more details on -p). If your openttd config is set up to listen on port 3979 you need to map the container port to your machines network like so -p 3979:3979 where the first reference is the host machines port and the second the container port.

Examples

Run Openttd and expose the default ports.

docker run -d -p 3979:3979/tcp -p 3979:3979/udp bateau/openttd:latest

Run Openttd with random port assignment.

docker run -d -P bateau/openttd:latest

Its set up to not load any games by default (new game) and it can be run without mounting a .openttd folder.
However, if you want to save/load your games, mounting a .openttd folder is required.

docker run -v /path/to/your/.openttd:/home/openttd/.openttd -p 3979:3979/tcp -p 3979:3979/udp bateau/openttd:latest

Set UID and GID of user in container to be the same as your user outside with seting env PUID and PGID. For example

docker run -e PUID=1000 -e PGID=1000 -v /path/to/your/.openttd:/home/openttd/.openttd -p 3979:3979/tcp -p 3979:3979/udp bateau/openttd:latest

For other save games use (/home/openttd/.openttd/save/ is appended to savename when passed to openttd command)

docker run -e "loadgame=true" -e "savename=game.sav" -v /path/to/your/.openttd:/home/openttd/.openttd -p 3979:3979/tcp -p 3979:3979/udp bateau/openttd:latest

For example to run server and load my savename game.sav:

docker run -d -p 3979:3979/tcp -p 3979:3979/udp -v /home/<your_username>/.openttd:/home/openttd/.openttd -e PUID=<your_userid> -e PGID=<your_groupid> -e "loadgame=true" -e "savename=game.sav" bateau/openttd:latest

Kubernetes

Supplied some example for deploying on kubernetes cluster. "k8s_openttd.yml" just run

kubectl apply openttd.yaml

and it will apply configmap with openttd.cfg, deployment and service listening on port 31979 UDP/TCP.

Other tags

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].