teeworlds logo





A retro multiplayer shooter

Teeworlds is a free online multiplayer game, available for all major operating systems. Battle with up to 16 players in a variety of game modes, including Team Deathmatch and Capture The Flag. You can even design your own maps!

Need help? Head over to the support section!


(posted by: Dune) | 2018-12-09

Finally, the 0.7.1 release is here! We received a lot of feedback from the release candidate and the 0.7 beta/0.7.0, so it took a while to fix and polish it all. With the game smoothed out and stable, the downloads were updated here and on Steam.

Download 0.7.1 now!

The following is an attempt to list the most important changes since 0.6. You can also check the detailed changelog.

+ new gametypes: "last man standing" (LMS) and "last team standing" (LTS). survive by your own or as a team with limited weaponry
+ 64 players support. official gametypes are still restricted to 16 players maximum but allow more spectators
+ new skin system. build your own skins based on a variety of provided parts
+ enhanced security. all communications require a handshake and use a token to counter spoofing and reflection attacks
+ new maps: ctf8, dm3, lms1. Click to discover them!

+ animated background menu map: jungle, heavens (day/night themes, customisable in the map editor)
+ new design for the menus: added start menus, reworked server browser, settings
+ customisable gametype icons (browser). make your own!
+ chat overhaul, whispers (private messages)
+ composed binds (ctrl+, shift+, alt+)
+ scoreboard remodelled, now shows kills/deaths
+ demo markers
+ master server list cache (in case the masters are unreachable)
+ input separated from rendering (optimisation)
+ upgrade to SDL2. support for multiple monitors, non-english keyboards, and more
+ 10 new languages
+ more...

+ broadcasts overhaul, optional colours support
+ ready system, for competitive settings
+ server difficulty setting (casual, competitive, normal), shown in the browser
+ spectator mode improvements: follow flags, click on players
+ bot flags for modified servers: indicate NPCs, can be filtered out in the server browser
+ more...

+ sharper graphics all around (no more tileset_borderfix and dilate)
+ refreshed the HUD, ninja cooldown, new mouse cursor
+ mapres update (higher resolution, fixes...)
+ more...

Keep in mind that, as with every major version, backwards compatibility is broken.
Merry Christeemas!
(posted by: Oy) | 2018-10-14
So with some delay here comes the 0.7.0 release. It comes with a new menu, 2 new gametypes, new skin system, spoofing protection, new maps, no further need for tileset border fix and dilate, and more.
Thanks to Sushi Tee and Zatline for the new menu, to choupom for the new skin system, to heinrich5991 for the anti-spoofing system, to Sonix and Zatline for the new maps, to matricks for the graphics fix and to everyone else who contributed to this release.

A complete list of changes can be found here.
(posted by: heinrich5991) | 2018-10-13
Same story as with 0.6.3 and 0.6.4, again we're doing a release to fix a vulnerability. If you're actively playing Teeworlds, you likely already noticed that a lot of servers were full of "(connecting)" clients. This was possible because you could forge the connection packet in a way that made it seem like it came from an arbitrary IP address.

Other than that, the release is mostly technical, allowing to build Teeworlds with the popular CMake build system and fixing a build error with gcc. Additionally, the initial connection handshake turned out to be unnecessarily slow: The client waited 500ms before sending the initial info for player name, clan, tee color, etc.

Go download it now!

It looks like the 0.7.0 release is also coming closer, so maybe this release will have a short lifespan.
(posted by: heinrich5991) | 2016-11-13
As with the 0.6.3 release, a reported security vulnerability motivated this release: This time, the security vulnerability is worse, attacker controlled memory-writes and possibly arbitrary code execution on the client, abusable by any server the client joins.

The changelog:
Bug fixes

  • Fix the above-mentioned security vulnerability in the client (ff25472).

  • Fix a read of uninitialized memory that is sent over the network, from the server (7dd463d).

  • Fix decoding of overlong UTF-8 sequences to non-invalid code points, leading to possible duplicate names (#1373, 205dbce).

  • Drop connected packets that come from a formerly connected server in the client (#1356, 2057808).

  • Use a different port for connless messages, increasing the difficulty of successful IP spoofing (7c43b76).

  • Make spoofing of server info packets harder (8af77b6).

  • Fix spoofing for vital chunks, and require most chunks to be vital (f457b58).

Other changes

  • Sort by player count by default, instead of server name (1b2a91f).

  • Add a cooldown on unpause (#1365, 56e366a).

Go download it now!
(posted by: heinrich5991) | 2015-11-02
A vulnerability in the current server-masterserver protocol was found that can cause servers to not show up in the server list anymore. Use one of the following methods to protect your server(s):

1) Apply this patch to your source code.
2) Use this script to patch your binaries.
3) Use this iptables rules by m!nus on your server (NOTE: Adjust the port if you're not running on 8303!):
iptables -I INPUT -p udp --dport 8303 -m u32 --u32 '0>>22&0x3C@18=0x66776572' -j DROP

NOTE: If you're using method 2 or 3, you won't be able to detect NAT issues anymore, they'll show up as "WARNING: Master server is not responding, switching master".