LAN Server

From DDraceNetwork

LAN servers are servers run locally by a player on their home network, which the hosting player has full control over.

There are a lot of reasons to host and use a LAN server. They allow you to:

  • Play privately with friends
  • Host maps not found on public servers
  • Test maps with admin commands and tools
  • And much more!

However, there are downsides to hosting a LAN server. They do require specific steps to allow friends to join, and often have unstable connections compared to official servers. Also note that LAN servers will only save ranks locally - if you finish a map on a LAN server, your rank won't translate to any official servers.


Creating and Joining a LAN Server

In the new client, creating a LAN server is very simple.

  1. Navigate to the main menu
  2. Click on "Start Server"
    • A black console window should pop up (this might take a moment). Copy the rcon password from this window.
  3. Navigate to the server browser, and join the new server in the LAN tab
  4. After joining, press f2 to open the in-game server console and enter in your rcon password from earlier to get access to admin commands.
  5. You're done!

However, this only allows players on your local network to join. In other words - nobody else except you can join this LAN server online. To allow players to join online, you'll have to go through more steps.


Setting Up Your LAN Server for Online Play

This next step requires you to port forward, which depends on the brand and type of router you have.

  1. Port forward the UDP port 8303 through your router.
    • The easiest way to do this is to simply search "how to port forward" in your preferred search engine. This process usually requires you to log into your router interface, which, again, varies per household.
    • Make sure to choose the UDP setting, and not the TCP or the TCP/UDP setting.
    • You can forward a port other than 8303 if you set up the desired port using sv_port in your server autoexecutable. However, the default port is 8303 for DDNet. So, if you're not sure what you're doing, just forward port 8303.
  2. If you'd like your server to show up on the Internet tab, use the server setting sv_register 1, either in the f2 console or in the server autoexecutable. Note that this will make your IP publicly viewable if you host the server from your home network. So, use at your own risk.

Some ISPs might not provide you with a full native IPv4 address, but instead use carrier-grade NAT, and will thus not support forwarding ports. In this case you can't make your LAN server available for online play.

Setting Up on Linux Server

Linux

Method 1 (Compiling server)
[Show/Hide]
1.Update the Server
  • sudo apt update && apt upgrade

2. Install git

  • sudo apt install git

3. Make a directory

  • mkdir DDNet-Server

4. Clone the repository from Github

  • git clone --recursive --depth=1 https://github.com/ddnet/ddnet

5. Install all required dependencies

  • sudo apt install build-essential cmake git libcurl4-openssl-dev libssl-dev libfreetype6-dev libglew-dev libnotify-dev libogg-dev libopus-dev libopusfile-dev libpnglite-dev libsdl2-dev libsqlite3-dev libwavpack-dev python google-mock

6. Go into ddnet folder

  • cd ddnet

7. Compile DDNet

  • mkdir build
  • cd build
  • cmake -DCLIENT=OFF ..
  • make -j$(nproc)

8. Open Server

  • ./DDNet-Server

9. forward a port to the server (default is 8303)

10. Connect via Client on the IP

  • Press F1
  • connect "Server-IP"

11.Play

More Information are available at https://github.com/ddnet/ddnet

Method 2 (Using precompiled binaries)
[Show/Hide]
1. Download binaries from DDNet download page

2. Extract into folder

3. Open Server

  • ./DDNet-Server

4. Forward a port to the server (default is 8303)

5. Connect via Client on the IP

  • Press F1
  • connect "Server-IP"

6. Play

More Information about Port forwarding are available at http://portforward.com/


Server Settings and Maps

Everything settings and map-wise can be found in your Teeworlds folder.

  • On Windows, you can find it in AppData/Roaming/Teeworlds.
  • On Linux, you can find it in (insert location here).
  • On Mac, you can find it in (insert location here).


Server Autoexecutables

Server autoexecutables are files containing server settings that are automatically run every time you start your server. For example, this can be helpful if you want to keep a single rcon password to log in with every time.

To create an autoexecutable, navigate to your Teeworlds folder (not your DDNet folder!), and create a file by the name of "autoexec_server.cfg". Make sure it is a .cfg extension file and not a .txt file or anything similar.

To add commands, simply edit the autoexec_server.cfg file and add each command on a new line. Here are examples of commonly used commands:

  • sv_rcon_password <rcon password>
  • sv_password <password to join>
  • sv_name <server name>
  • sv_register 1 (shows the server on the Internet tab)
  • sv_test_cmds 1 (allows the use of cheat commands)


Server Maps

Server maps can be found in Teeworlds/maps. To load a map ingame, use the server command sv_map <mapname>.


See also