Link to the Docker Hub repository
This container wraps everything that needs to be installed to make a TF2 server works on an ARM machine. It uses Box64 (Box86 for steamcmd) to have the best emulation performances.
Make sure Docker is installed. Note : the layers hash may be different because of box64 and box86 updates.
cd src
./build.shEvery utils scripts are contained inside the src directory.
The TF2 installation might be persistent and might be shared across multiple docker containers. There are 2 volumes that you may set, the TF2 installation and the cfg directory.
First you'll need to create a bashenv file inside src where you'll put :
- RCONPWD="" # RCON password to connect remotely as Console (shared across containers)
- ARR_SERVER_TOKENS=() # Server account tokens # Example : ARR_SERVER_TOKENS=("5E7AF12F4DB6C559A8E59D9F9245478B", "4E2F9D7A85194F5AB0B56D295FEC4979")
There is an example file named bashenv.example.
Before starting anything, here is the start.sh arguments list based on index :
$i represents the number of active containers.
- Container Name: (Default:
tf2_arm_$i) if set asdev, you can start the container as root with a/bin/bashentrypoint. - Game Installation Directory: (Default:
$HOME/tf2) - Configuration Directory: (is the realpath from
$PWD/etc/cfg/${Configuration Directory}. If it fails, it's considered to be the fullpath) (Default:normal) - Configuration Volume Directory: (Default:
$HOME/cfg_${Configuration Directory}) - Server Account Token: (Default:
${ARR_SERVER_TOKENS[$i]})
Before doing anything, you will need to edit some files in the etc directory.
There is the cfg directory that contains the normal configuration directory. You can put different configuration directories for different type of servers. Furthermore, you can directly modify the files inside normal or make a copy, but don't forget to configure the start.sh arguments like this :
./start.sh "" "" myconfdir "/path/to/cfg_myconfdir"Notice : the "/path/to/cfg_myconfdir" will be automatically created if it doesn't exists.
The start.sh script will copy and overwrite everything inside the configuration volume, so be careful before adding any new files in the config directory.
Credit goes to the developer of these containers (CM2Walki) for laying the foundation upon which this container was built : x86_64 TF2 Container x86_64 Steamcmd