Skip to content

tieonlinux/TShock-Docker

Repository files navigation

a Docker image for TShock a terraria server

GPLv3 license
CI Docker Image

Key Features

About TShock

TShock for Terraria
AppVeyor Build Status GitHub Actions Build Status All contributors

查看中文版

TShock is a toolbox for Terraria servers and communities. That toolbox is jam packed with anti-cheat tools, server-side characters, groups, permissions, item bans, tons of commands, and limitless potential. It's one of a kind.

🎡 Supported Architectures 🎡

Built images support multiple architectures such as x86-64, arm64 and armhf.

Pulling tieonlinux/terraria:latest retrieve the image matching your architecture.
You can also pull arch images via specific tags.

The architectures supported are the following:

Architecture Tag
x86-64 amd64-latest
386 386-latest
arm64 arm64v8-latest
armhf arm32v7-latest
Any of those latest

🎮 Usage

🚢 Docker

A standard docker knowledge is required to set this up

docker create \
  --name=terraria \
  -e PUID=1001 \
  -e PGID=1001 \
  -v /path/to/tshock/config:/config \
  -v /path/to/tshock/logs:/logs \
  -v /path/to/tshock/world:/world \
  -v /path/to/tshock/plugins:/plugins \
  --name="terraria" \
  tieonlinux/terraria \
  -world "a world_name.wld"

Parameters

Parameter Description
-e PUID=1001 for UserID - see below for explanation
-e PGID=1001 for GroupID - see below for explanation
-v /path/to/tshock/config:/config TShock's config location. Allow persistance of databases and json config
-v /path/to/tshock/logs:/logs TShock's log files location
-v /path/to/tshock/world:/world Terraria's world(s) location (containing .wld files)
-v /path/to/tshock/plugins:/plugins TShock's plugins location
-world "a world_name.wld" The file name or absolute path to the world to load

Note that those parameters are all optional. But it's strongly recommended to use them all.

When using volumes (-v flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user PUID and group PGID.

Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.

In this instance PUID=1001 and PGID=1001, to find yours use id user as below:

  $ id username
    uid=1001(terrariauser) gid=1001(terrariagroup) groups=1001(terrariagroup)

Special Thanks

Software used