Sign inSign up

adnanklink/tmodloader-docker

By adnanklink

Updated over 5 years ago

Terraria server 1.3.5.3 with tModLoader v0.11.8.1.

Image
0

315

adnanklink/tmodloader-docker repository overview

tModLoader Docker tMod Version Terraria Version Docker Pulls

tModLoader dedicated server

Terraria server 1.3.5.3 with tModLoader v0.11.8.1.

Supports graceful shutdown (saves when the container receives a stop command) and also supports autosaving every 10 minutes (configurable, see Environment Variables below).

Quick Start

docker run -d --name tmod -p 7777:7777 -v /etc/localtime:/etc/localtime:ro rfvgyhn/tmodloader

Adding worlds

docker run -d --name tmod -p 7777:7777 -v /etc/localtime:/etc/localtime:ro -v $(pwd)/data:/terraria rfvgyhn/tmodloader

Server Config File

You can mount a config file. This allows you to specify server and world settings. If you don't specify one, a default will be used. See wiki for file format details.

docker run -d --name tmod -p 7777:7777 -v /etc/localtime:/etc/localtime:ro -v $(pwd)/data:/terraria -v $(pwd)/config.txt:/terraria-server/config.txt rfvgyhn/tmodloader

Initial Setup

If you want to use the server's mod browser to install and enable mods, run an interactive container with the setup parameter appended to the end.

docker run -it --rm -v $(pwd)/data:/terraria rfvgyhn/tmodloader setup

After setting up your mods, and optionally setting up a world, press Ctrl+C to exit the container. Then you can use the normal docker command to run your server. Note that you'll see the mods and the enabled.json files appear in your mods folder on the host.

You can also skip this step and directly download your mods. Place the mod files in your data/ModLoader/Mods folder and make sure to enable them in the data/ModLoader/Mods/enabled.json file.

Sending Commands to the Server

This container is designed to be run in headless mode. This means you you can't manually type commands like you would on a normal Terraria server. You can inject commands from the host machine though. For example, assuming your container is named tmod:

docker exec tmod inject "kick player1"
docker exec tmod inject "say NOT THE BEEES!!!"

Environment Variables

NameDefault Value
TMOD_SHUTDOWN_MSGShutting Down!Message that appears when server is shutting down
TMOD_AUTOSAVE_INTERVAL*/10 * * * *Cron expression that specifies how often to save the world. Default is every 10 minutes.
TMOD_IDLE_CHECK_INTERVALDisabledCron expression that specifies how often to check if no players are online. If none are online, the server will save the world and exit. This can be useful if your server costs are based on CPU usage. Pairs well with game-manager.
TMOD_IDLE_CHECK_OFFSET0This allows for sub-minute resolution if the idle check interval is specified
docker run -d --name tmod \
           -e TMOD_SHUTDOWN_MSG="Goodbye" \
           -e TMOD_AUTOSAVE_INTERVAL="*/15 * * * *" \
           -e TMOD_IDLE_CHECK_INTERVAL="*/1 * * * *" \
           -e TMOD_IDLE_CHECK_OFFSET=10 \
           -p 7777:7777 \
           -v /etc/localtime:/etc/localtime:ro \
           rfvgyhn/tmodloader

Sample Docker Compose

version: '3'
services:
    tmod:
        image: 'rfvgyhn/tmodloader:latest'
        container_name: 'tmod'
        ports:
            - '7777:7777'
        volumes:
            - /etc/localtime:/etc/localtime:ro
            - ./data:/terraria
            - ./config.txt:/terraria-server/config.txt
        environment:
            - TMOD_SHUTDOWN_MSG="See ya!"

Tag summary

Content type

Image

Digest

Size

51.9 MB

Last updated

over 5 years ago

docker pull adnanklink/tmodloader-docker