Teeworlds
Updated May 11, 2026
Teeworlds autoexec.cfg Reference
Complete reference for Teeworlds autoexec.cfg — file location, syntax rules, and every server variable with its default value and description.
Teeworldsconfigurationautoexec.cfgconfigsettingsreference
Teeworlds autoexec.cfg Reference
Teeworlds reads its configuration from a file named autoexec.cfg. All server settings live in this file.
File Location
Place autoexec.cfg in one of these locations (checked in order):
- Same directory as
teeworlds_srv— recommended, keeps everything in one place ~/.teeworlds/on Linux — user profile directory
Or specify any path with the -f flag:
./teeworlds_srv -f /path/to/myserver.cfg
Syntax
variable value
- One setting per line
- Space between variable name and value — no equals sign
- No quotes needed unless the value contains spaces (server names with spaces work without quotes)
- Blank lines and lines starting with
#are treated as comments in most builds
Example:
sv_name DustBowl Deathmatch
sv_port 8303
sv_max_clients 12
Full Settings Reference
Server Identity
| Variable | Default | Description |
|---|---|---|
sv_name |
Teeworlds Server |
Name shown in the server browser |
sv_port |
8303 |
UDP port the server listens on |
sv_register |
1 |
1 = listed publicly; 0 = LAN only |
sv_motd |
(blank) | Message shown to players on join |
password |
(blank) | Join password; blank = open server |
logfile |
(blank) | Path to log file; blank = no log file |
console_output_level |
0 |
Console verbosity (0 = normal) |
Players
| Variable | Default | Description |
|---|---|---|
sv_max_clients |
12 |
Maximum connected players (hard max: 16) |
sv_max_clients_per_ip |
5 |
Max connections from a single IP |
sv_spectator_slots |
2 |
Spectator slots (not counted in sv_max_clients) |
sv_tournament_mode |
0 |
1 = new players join as spectators first |
sv_inactivekick |
1 |
0 = spec, 1 = kick, 2 = ban inactive players |
sv_inactivekick_time |
3 |
Minutes of inactivity before action |
Gameplay
| Variable | Default | Description |
|---|---|---|
sv_map |
dm1 |
Starting map |
sv_gametype |
dm |
Game mode: dm, tdm, ctf, lms |
sv_scorelimit |
20 |
Frags/captures to end a round; 0 = no limit |
sv_timelimit |
0 |
Minutes per round; 0 = no limit |
sv_warmup |
0 |
Warmup seconds before match starts |
sv_rounds_per_map |
3 |
Rounds played before map rotation advances |
sv_teamdamage |
0 |
1 = friendly fire enabled |
sv_powerups |
1 |
1 = katana sword spawns enabled |
sv_maprotation |
(blank) | Space-separated map rotation list |
Team Balancing
| Variable | Default | Description |
|---|---|---|
sv_teambalance_time |
1 |
Minutes of team imbalance before auto-balance |
sv_spamprotection |
1 |
1 = anti-spam for chat |
RCON
| Variable | Default | Description |
|---|---|---|
sv_rcon_password |
(blank) | RCON password; blank = RCON disabled |
sv_rcon_max_tries |
3 |
Failed attempts before IP ban |
sv_rcon_bantime |
0 |
Minutes to ban after failed attempts; 0 = no ban |
Voting
| Variable | Default | Description |
|---|---|---|
sv_vote_kick |
1 |
1 = players can vote-kick |
sv_vote_kick_bantime |
1 |
Minutes banned after vote-kick; 0 = just kick |
sv_vote_kick_min |
2 |
Minimum players needed to start a vote-kick |
sv_vote_map |
1 |
1 = players can vote to change map |
Performance
| Variable | Default | Description |
|---|---|---|
sv_high_bandwidth |
0 |
1 = higher update rate (uses more bandwidth) |
sv_auto_demo_record |
0 |
1 = automatically record demos |
Example autoexec.cfg
sv_name DustBowl Deathmatch
sv_port 8303
sv_max_clients 12
sv_max_clients_per_ip 3
sv_map dm1
sv_gametype dm
sv_register 1
sv_rcon_password secretpassword
sv_rcon_max_tries 3
sv_rcon_bantime 5
sv_scorelimit 20
sv_timelimit 0
sv_rounds_per_map 3
sv_maprotation dm1 dm2 dm6 dm7
sv_vote_kick 1
sv_vote_map 1
sv_motd Welcome to DustBowl Deathmatch!
Back to Knowledgebase
Need help?
Submit a Ticket →