Studenten Net Twente making the net wiki work

This is an old revision of the document!


Howto setup a Teamspeak server (linux)

1. Requirements

  • Preferred: SSH access to machine, although FTP would do as well.
  • Preferred: Some basic linux knowledge.
  • Firewall: Several ports to open;
    • UDP: 8786 (default TS port)
    • TCP/IP: 14534 (default website port)
    • TCP/IP: 51234 (TCP query port)
  • IP of the Teamspeak server.

2. Preparation

3. Setup

3.1 Create directory & Unpack

I have the nack of creating an “install” directory in my homedir.
After downloading both the above files, mentioned in '2. preparation' we start with unpacking.
Seeing the file we downloaded is a .tar.bz2 file we unpack it using 'tar' with the commands 'xvjf <file>'
(x for extract, v for verbose, j for bzip2 and f for file)

After unpacking the directory structure should look like: (with ls)

httpdocs       LICENSE      README        tcpquerydocs
INSTALL        Manual       server_linux  teamspeak2-server_startscript
INSTALL.mysql  manual.html  sqlite.so
libsqlmy.so    mysql_sql    sqlite_sql

3.2 Running it for a brief while

Why are we running it when we haven't configured it yet, you might ask?
Well the answer is just as simple: “We need to, because the configuration files and the log do not ship with the install”.
Running it for a brief while initializes Teamspeak to create you a few files and accounts which we need to have to continue the install.

When running 'server_linux' for a first time it will notice something back to your shell: “TeamSpeak Server Daemon started with PID XXXXX ”. Immediately after starting it we will now kill it by typing 'kill -9 <pid>', where <pid> is the number the server started with.

After this marvellous adventure we now have a few more files in our directory:

server.log (holds the logging for the server)
server.ini (the configuration file for the server)
server.pid (keeps the PID number stored)
server.dbs (sqlite file which holds all channel and user records)

3.3 Configuring

Time for the fun part now! Remember the creation of the files above? Well we're going to edit those files now. First up is the server.ini file which we'll have a look at now. The text between '(' and ')' are comments and aren't needed when filling the server.ini file.

[Main Config]
BoundToIp1= (Fill in the IP of your machine.)
ExternalIPDectection=1 
HTTPServer Port=14534 (Http port we'll need later when configuring the server(s).)
HTTPServer Enabled=1 (1 = enable, 0 = disable. Enable it for now.)
DateTimeFormat=dd-mm-yyyy hh:nn:ss (Can be changed if you wish, though the default will do fine.)
TCPQueryPort=51234 (Some scripts need this port when they want to query it to recall stats like amount of people connected.)
AllowedClientNameChars= (Empty means all characters are allowed.)
DisAllowedClientNameChars=()[]{} (Characters that aren't allowed in a nickname.)

[debug]
MessageTypes=LMTALL
MessageDepths=LMDALL

[WebPost]
AdminEmail=na (Your email address.)
ISPLinkURL=na (The URL of your ISP.)
ISPName=Private (Shows people your TS server (public) or hides it from everyone else (private).)
ISPCountryNumber=0
Enabled=1
PostURL=
ListPublic=1
UserAgent=teamspeak

[log] (0 = disabled, 1 = enabled. Use at your pleasure.)
access_r=0
access_u=0
channel_registerred=0
channel_unregisterred=0
sa=0
chat=0
kick_server=0
kick_channel=0

[Spam]
max_commands=10
in_seconds=2

4. Extra

4.1 ts2perlmod

4.1.1 Requirements

* A distribution of Perl (>= 5.8.x recommended) * A TeamSpeak 2 server (>= 2.0.21.x recommended) * A working superadmin account

4.1.2 Setup
commissies/gamescom/gamescomteamspeak.1256136556.txt.gz · Last modified: 2009/10/21 14:49 by willem