GithubHelp home page GithubHelp logo

chickenbellyfin / taserver-docker Goto Github PK

View Code? Open in Web Editor NEW
7.0 2.0 5.0 76 KB

Linux based docker image for taserver

Home Page: https://hub.docker.com/r/chickenbellyfin/taserver

License: GNU Affero General Public License v3.0

Shell 71.85% Dockerfile 28.15%

taserver-docker's Introduction

taserver-docker

Linux based docker image for taserver

Build

docker build . -t taserver

Run

docker run \
  --name "taserver" -d --cap-add NET_ADMIN \
  -v "$(pwd)/gamesettings:/gamesettings" \
  -p "7777:7777/tcp" -p "7777:7777/udp" \
  -p "7778:7778/tcp" -p "7778:7778/udp" \
  -p "9002:9002/tcp" -p "9002:9002/udp" \
  taserver

Helper Script

This project includes a helper script which will run the above command:

./taserver.sh -d gamesettings

Ports

You must open the following ports in your security group and/or firewall:

  • 7777-7778 TCP and UDP
  • 9002 TCP and UDP

Configuration

The gameserver settings will be located in the directory that is mounted to /gamesettings (-v <path>:/gamesettings if you ran docker and -d <path> if you used taserver.sh).

To use pre-existing serverconfigs, create the directory and copy your serverconfig.lua into it, as well as any other lua files it depends on (like admin.lua).

  • If you start a server without a gamesettings dir, it will start with the default settings from taserver and appear as "My Custom OOTB Server".

  • If you start a server and the directory does not exist, it will be created and the default serverconfig.lua will be copied into it. You can edit that file and restart the server to make changes.

Refer to TAMods-Server Docs for details on configuration.

Running Multiple Servers

Ports

If you want to run multiple taservers from your host machine, you must open more ports, depending on how many servers you want to host.

For each range starting at 7777 and at 9002, open N * 2 ports counting up

ex. For 5 servers, add 10:

  • 7777-7787 TCP & UDP
  • 9002-9010 TCP & UDP

For the 9002- range, only the even ports are used. You may choose to only open the exact ports: 9002,9004,9006,... for extra security.

Running Additional Servers

The wrapper script makes it easy to run multiple taserver instances.

For more than one server, you must also add -p <port_offset>, where port_offset must be a multiple of 2.

# start a taserver with port offset 0, game config will be in ./my_server/serverconfig.lua
$ ./taserver.sh -d my_server

# start a second server with a different config located in ./maybe_arena/
$ ./taserver.sh -d maybe_arena -p 2

# Start a third server, identical to the first
# we can re-use the config directory
$ ./taserver -d my_server -p 4

# start 10 identical servers
$ for i in {0..10}; do ./start_taserver.sh -d arena_settings -p $((i*2)) ; done

Restart a Server

Restarting a server is useful to pick up new config changes or fix some unknown problem.

docker restart taserver

# taserver.sh: containers are named taserver_$CONFIGDIR_$PORTOFFSET
$ docker restart taserver_my_server_0

Kill a Running Server

$ docker kill taserver

You can start the server again by re-running the same command (or the script)

Deploy To Azure

Installs docker and loads the taserver docker image from this project on an Ubuntu VM.

Deploy to Azure

For details about instances sizes and resources required, see Resources

Testing & Development

See Testing & Development

taserver-docker's People

Contributors

chickenbellyfin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

taserver-docker's Issues

optimize wine installation size

wine, xvfb have a lot of dependencies and add > 1GB to the image size after install.

  • See if there's a way to avoid installing all of wine64 and wine32
  • find a way reduce dependencies of xvfb

Might involve installing directly from the repos in wine's website instead of from ubuntu's repository. There are also some wine docker images on the internet which are ~500MB overall.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.