From ArchWiki
Revision as of 11:06, 2 February 2018 by Josephgbr (talk | contribs) (Create page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

DDNet (abbreviation of DDraceNetwork) is an actively maintained modification of Teeworlds with a unique cooperative gameplay. Help each other play through custom maps with up to 64 players, compete against the best in international tournaments, design your own maps, or run your own server. Players' public ranks are made on serveral official servers are available worldwide.

It works in the client–server model, where the user plays using DDNet Client which connects to a local or remote DDNet Server. Since DDNet has official servers, you most likely will only start the Client and play online.


Install the package ddnetAUR from AUR. Alternatively, you use the development version ddnet-gitAUR in same place.

Optional packages

ddnet-skinsAUR – provides the whole DDNet's skin database (also available in a Git repository), allowing you to choose between 600 different skins for your character

ddnet-maps-gitAUR – provides all playable maps available in the DDNet's maps repository with default configurations for running an offline DDNet server. Users interested in setting up a DDNet Server will probably want this package, but it's really not necessary for the DDNet Client.

Directory structure


Play DDNet using the .desktop file provided in the package (e.g. in GNOME, search for "ddnet" in its Activities Overview), or by running the command
$ DDNet

Setting up a local server is optional, as you normally will want to play in official servers online. See #Server for more info.

Some extra tools can be found in /usr/share/ddnet/tools/. See #Extra tools for more info.


Note: These instructions are not required for playing DDNet; see #Usage.

Use these instructions if you want a local server in a LAN to play with friends, or due to high latency of Internet servers, or for testing.

Setting up a server

In order to have a server, you need DDNet installed, config file(s) and maps.

1- Easy method:

  1. install the package ddnet-maps-gitAUR
  2. start a server instance using the .desktop file provided in the package (e.g. in GNOME, search for "ddnet server" in its Activities Overview), or by running the command
    $ DDNet-Server

The server instance should be available and visible for a Client in the LAN servers tab.

Extra tools

The following tools are provided in /usr/share/ddnet/tools/:


$ /usr/share/ddnet/tools/config_retrieve mapfile.map

Retrieves configuration embedded in DDNet map file and stores in a .cfg with same filename (e.g. "Kobra 4.map" returns "Kobra 4.cfg")

Available since DDNet version 9.0.


$ /usr/share/ddnet/tools/config_store mapfile.map

Stores configuration from a map's configuration file into the map file. Both configuration and map files must have the same filename in the same directory, otherwise the operation will fail.

Available since DDNet version 9.0.

Note: If there is no difference between the configuration to stored and the configuration embedded in the map, then operation will be cancelled with message configs coincide, not updating map.


$ /usr/share/ddnet/tools/confusables string1 string2

Compare string1 with string2 and report if they are "confusable", i.e. if the characters are "equal" and could cause confusion. For this to work, the characters with accents or other things around them are considered the "confusable" with the base character. Therefore, aa and are confusable (á was considered as a), while aa and ab are not.

If they confusable, returns not_confusable=0, otherwise, returns not_confusable=1.

Available since DDnet version 10.3.5.


$ /usr/share/ddnet/tools/crapnet

Tests connection by setting a client–server connection locally and running ping between them. Reports dropped packets with message dropped packet and successes with cfg = number, where number varies from 0 to 2.


$ /usr/share/ddnet/tools/dilate imagefile1 [imagefile2 ... ]

It is graphical tool, useful for mappers. It takes care of transparent areas to prevent black/white outlines around your images ingame, therefore avoiding blending and mipmap issues. See Edge padding for more info.

Note: This works only in RGBA PNG image files. So, it won't work for, for instance, in JPEG files.


$ /usr/share/ddnet/tools/dummy_map

Creates a dummy, small empty map to be used to start a server. See [1] for more info.


$ /usr/share/ddnet/tools/fake_server

Creates a fake server for testing.


$ /usr/share/ddnet/tools/map_diff mapfile1.map mapfile2.map

Compares two map files, reporting one of the follow:

  • no diff output (maps are the same)
  • different layer numbers, if one map has more layers than another
  • different tile layers, if the number of layers is the same, but at least one layer is different
  • lastly, the index and flags positions that differ.

If there is no difference between maps, returns 0; otherwise, returns 1.


$ /usr/share/ddnet/tools/map_extract mapfile.map [directory]

Extracts content from mapfile.map into directory. If optional argument directory is not provided, extracts to the current directory.


$ /usr/share/ddnet/tools/map_replace_image mapfile1.map mapfile2.map imagename imagefile

Replaces the image imagename currently inside the map filename mapfile1.map with the image filepath imagefile, and save into the map filename mapfile2.map.

  • both map filenames must be relative to user default ddnet folder
  • new image filepath must be absolute or relative to the current position


$ /usr/share/ddnet/tools/map_resave mapfile.map imagefile

Updates the map file mapfile.map with the provided file imagefile.

The error status 255 is returned if 1) a number of arguments different from 2 is provided, 2) if the mapfile.map is not valid, or 3) if imagefile is not a valid image file (e.g. it is a text file); otherwise, return 0.