LAN Server: Difference between revisions

From DDraceNetwork
Undo revision 34199 by Melonew (talk): Having the documentation allows it to be translated. What is the reason for it being removed? We can discuss on https://wiki.ddnet.org/wiki/Talk:LAN_Server or on the #wiki channel about removing the section
Tags: Undo Reverted
Undo revision 34200 by Zwelf (talk): Ok. Lets remove. It is misleading and I don't want to update. Bit unfortunate for translations, but outdated infos are bad too.
Tag: Undo
Line 57: Line 57:
|<div style=" display: flex; justify-content: space-between;"><div>Method 1 (Compiling server)</div> <div class="mw-customtoggle-methodOne" style="color:#0B0080;"><small>[Show/Hide]</small></div></div>
|<div style=" display: flex; justify-content: space-between;"><div>Method 1 (Compiling server)</div> <div class="mw-customtoggle-methodOne" style="color:#0B0080;"><small>[Show/Hide]</small></div></div>
|- class="mw-collapsible mw-collapsed"
|- class="mw-collapsible mw-collapsed"
|1.Update the Server
|For Building your DDNet Server from source please refer to the Github README
*[https://github.com/ddnet/ddnet Github]


<!--T:15-->
If you follow the steps you will not only build the Server but also the Client. to disable that specify the following in your cmake command:
*<code>sudo apt update && apt upgrade</code>


<!--T:16-->
<code>cmake .. -DCLIENT=OFF</code>
2. Install git


<!--T:17-->
This will significantly increase build time and wont build unneccessary files.
*<code>sudo apt install git</code>
 
<!--T:18-->
3. Make a directory
 
<!--T:19-->
*<code>mkdir DDNet-Server</code>
 
<!--T:20-->
4. Clone the repository from Github
 
<!--T:21-->
*<code>git clone --recursive --depth=1 <nowiki>https://github.com/ddnet/ddnet</nowiki></code>
 
<!--T:22-->
5. Install all required dependencies
 
<!--T:23-->
*<code>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</code>
 
<!--T:24-->
6. Go into ddnet folder
 
<!--T:25-->
*<code>cd ddnet</code>
 
<!--T:26-->
7. Compile DDNet
 
<!--T:27-->
*<code>mkdir build</code>
*<code>cd build</code>
*<code>cmake -DCLIENT=OFF ..</code>
*<code>make -j$(nproc)</code>
 
<!--T:28-->
8. Open Server
 
<!--T:29-->
*<code>./DDNet-Server</code>
 
<!--T:30-->
9. forward a port to the server (default is 8303)
 
<!--T:31-->
10. Connect via Client on the IP
 
<!--T:32-->
*Press F1
*connect "Server-IP"
 
<!--T:33-->
11.Play
 
<!--T:34-->
More Information are available at https://github.com/ddnet/ddnet
|}
|}


Line 155: Line 98:
<!--T:43-->
<!--T:43-->
More Information about Port forwarding are available at http://portforward.com/
More Information about Port forwarding are available at http://portforward.com/


==Server Settings and Maps== <!--T:44-->
==Server Settings and Maps== <!--T:44-->

Revision as of 21:58, 14 May 2024

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]
For Building your DDNet Server from source please refer to the Github README

If you follow the steps you will not only build the Server but also the Client. to disable that specify the following in your cmake command:

cmake .. -DCLIENT=OFF

This will significantly increase build time and wont build unneccessary files.

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