LAN Server/zh: Difference between revisions

From DDraceNetwork
Darkh (talk | contribs)
Created page with "== 在Linux上设置服务器 =="
FuzzyBot (talk | contribs)
Updating to match new version of source page
 
(72 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages />
本地服务器是玩家在本地网络(比如家庭wifi)中建立的服务器,建立服务器的玩家拥有对这个服务器的完全控制权。


使用本地服务器的原因很多它能够让你做到:
LAN 本地服务器允许玩家作为服主在家庭网络中建立服务器,服主对服务器拥完全控制权


* 和朋友一起游玩时不受别人打扰
有许多原因会促使玩家创建本地服务器,例如无法忍受网络波动或者不希望游玩过程受他人影响。下面是一些本地服务器的优点:
 
* 在私下里和朋友一起游玩地图
* 游玩官方服务器中没有的地图
* 游玩官方服务器中没有的地图
* 用管理员指令和工具地图进行测试
* 用管理员指令和工具测试地图
* 以及更多
* 当然重点不是地图而是联机


然而,建立本地服务器仍然有许多缺点。你需一些特殊的方法来让你的朋友加入你的服务器,并且相比起官方服务器,其他玩家在你建立的本地服务器中会遭受多网络的影响注意本地服务器只会本地保存过图记录这意味着你在本地服务器中完成地图不会将记录同步到官方服务器
然而,本地服务器也存在缺点。做许多步骤才能允许朋友加入服务器,相比起官方服务器,不知哪一个连接稳定并且缺少官方认证的情况下,完成地图的成绩不会上传,只能在本地查看,您也无法获得通关排名




Line 22: Line 23:
# 打开游戏客户端的浏览服务器界面,在上方选择局域网,刷新后即可加入。
# 打开游戏客户端的浏览服务器界面,在上方选择局域网,刷新后即可加入。
# 进入游戏后,按f2打开服务器控制台rcon,然后输入密码来获得[[Special:MyLanguage/Settings and Commands|管理员指令]]的使用权限。
# 进入游戏后,按f2打开服务器控制台rcon,然后输入密码来获得[[Special:MyLanguage/Settings and Commands|管理员指令]]的使用权限。
# 介绍完毕


然而,这样建立的服务器只能够让处在同一局域网中的玩家加入。如果其他玩家不在你身旁,那么想要让他们加入就需要更多步骤。
然而,这样建立的服务器只能够让处在同一局域网中的玩家加入。如果其他玩家不在你身旁,那么想要让他们加入就需要更多步骤。
Line 43: Line 45:




<span id="Linux"></span>
=== Linux ===
=== Linux ===


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
{|- class="wikitable" style="width:100%;"
{|- class="wikitable" style="width:100%;"
| <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>方法 1 (编译服务器)</div> <div class="mw-customtoggle-methodOne" style="color:#0B0080;"><small>[展开 / 折叠]</small></div></div>
|- class="mw-collapsible mw-collapsed" id="mw-customcollapsible-methodOne"
|- class="mw-collapsible mw-collapsed" id="mw-customcollapsible-methodOne"
| 1.Update the Server
| 1.上传服务器
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
* <code>sudo apt update && apt upgrade</code>
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
2. Install git
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
* <code>sudo apt install git</code>
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
3. Make a directory
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
* <code>mkdir DDNet-Server</code>
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
3. Clone the repository from Github
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
* <code>git clone --recursive --depth=1 <nowiki>https://github.com/ddnet/ddnet</nowiki></code>
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
4. Install all required dependencies
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
* <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>
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
5. Go into ddnet folder
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
* <code>cd ddnet</code>
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
5. Compile DDNet
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
* <code>mkdir build</code>
* <code>cd build</code>
* <code>cmake -DCLIENT=OFF ..</code>
* <code>make -j$(nproc)</code>
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
6. Open Server
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
* <code>./DDNet-Server</code>
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
7. forward a port to the server (default is 8303)
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
8. Connect via Client on the IP
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:
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
* Press F1
<code>cmake .. -DCLIENT=OFF</code>
* connect "Server-IP"
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
9.Play
This will significantly decrease build time and wont build unneccessary files.
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
More Information are available at https://github.com/ddnet/ddnet
|}
|}
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
{|- class="wikitable" style="width:100%;"
{|- class="wikitable" style="width:100%;"
| <div style=" display: flex; justify-content: space-between;"><div>Method 2 (Using precompiled binaries)</div> <div class="mw-customtoggle-methodTwo" style="color:#0B0080;"><small>[Show/Hide]</small></div></div>
| <div style=" display: flex; justify-content: space-between;"><div>方法 2 (使用预编译的二进制文件)</div> <div class="mw-customtoggle-methodTwo" style="color:#0B0080;"><small>[展开 / 折叠]</small></div></div>
|- class="mw-collapsible mw-collapsed" id="mw-customcollapsible-methodTwo"
|- class="mw-collapsible mw-collapsed" id="mw-customcollapsible-methodTwo"
| 1. Download binaries from [https://ddnet.org/downloads/ DDNet download page]
| 1. [https://ddnet.org/downloads/ DDNet 下载页面(download page]上下载二进制文件
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
2. 解压到文件夹
2. Extract into folder
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
3. 启动服务器
3. Open Server
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
* <code>./DDNet-Server</code>
* <code>./DDNet-Server</code>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
4. 转发服务器端口(默认为8303)
4. Forward a port to the server (default is 8303)
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
5.使用 IP 通过客户端连接
5. Connect via Client on the IP
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
* Press F1
* Press F1
* connect "Server-IP"
* connect "Server-IP"
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
6. 游玩
6. Play
|}
|}
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
关于端口转发可以参阅 http://portforward.com/
More Information about Port forwarding are available at http://portforward.com/
</div>


<span id="Server_Settings_and_Maps"></span>
== 服务器设置与地图 ==


<div lang="en" dir="ltr" class="mw-content-ltr">
您可以在 Teeworlds 文件夹中找到设置和地图引导。
== Server Settings and Maps ==
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
Everything settings and map-wise can be found in your Teeworlds folder.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
* On Windows, you can find it in AppData/Roaming/Teeworlds.
* Windows系统:位于 AppData/Roaming/Teeworlds 路径下。
* On Linux, you can find it in (insert location here).
* Linux系统:(地址待定)。
* On Mac, you can find it in (insert location here).
* Mac系统:(地址待定)。
</div>
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Server_Autoexecutables"></span>
=== Server Autoexecutables ===
=== 服务器配置文件 ===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
服务器配置文件中包含了启动服务器时自动运行的设置和指令,例如将随机的服务器管理员密码改为固定密码。
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.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
首先进入 Teeworlds 文件夹'''而非''' DDNet 文件夹,创建一个名为 '''autoexec_server.cfg''' 的文本文件,确保后缀完全一致。
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.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
编辑该文件可以快速增加命令,每条命令独自占据一行。下面给出常见命令的示例:
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:
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
* 设置管理员密码:<code>sv_rcon_password <密码></code>
* sv_rcon_password <rcon password>
* 设置进入服务器密码:<code>sv_password <密码></code>
* sv_password <password to join>
* 设置服务器名字:<code>sv_name <名字></code>
* sv_name <server name>
* 在互联网列表公开服务器:<code>sv_register 1</code>
* sv_register 1 (shows the server on the Internet tab)
* 允许使用作弊指令:<code>sv_test_cmds 1</code>
* sv_test_cmds 1 (allows the use of cheat commands)
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Server_Maps"></span>
=== Server Maps ===
=== 服务器地图 ===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
服务器地图保存在 Teeworlds/maps 路径中,加载服务器地图可以使用服务器命令<code>sv_map <地图名></code>
Server maps can be found in Teeworlds/maps. To load a map ingame, use the server command <code>sv_map <mapname></code>.
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="See_also"></span>
== See also ==
== 另见 ==
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://wiki.archlinux.org/title/DDRaceNetwork#Server DDNet Server configuration in Arch Wiki]
* [https://wiki.archlinux.org/title/DDRaceNetwork#Server DDNet Server configuration in Arch Wiki]
* https://github.com/ddnet/ddnet-maps - DDNet maps repository
* https://github.com/ddnet/ddnet-maps - DDNet maps repository
</div>
[[Category:Tutorial{{#translation:}}]]
[[Category:Tutorial{{#translation:}}]]

Latest revision as of 11:45, 27 October 2024

LAN 本地伺服器允許玩家作為服主在家庭網絡中建立伺服器,服主對伺服器擁有完全控制權。

有許多原因會促使玩家創建本地伺服器,例如無法忍受網絡波動或者不希望遊玩過程受他人影響。下面是一些本地伺服器的優點:

  • 在私下裡和朋友一起遊玩地圖
  • 遊玩官方伺服器中沒有的地圖
  • 用管理員指令和工具測試地圖
  • 當然重點不是地圖而是聯機!

然而,本地伺服器也存在缺點。您要做許多步驟才能允許朋友加入伺服器,相比起官方伺服器,不知哪一個連接更穩定。並且在缺少官方認證的情況下,完成地圖的成績不會上傳,只能在本地查看,您也無法獲得通關排名。


建立和加入本地伺服器

在新版DDNet客戶端中,建立本地伺服器非常簡單。

  1. 找到遊戲的開始菜單
  2. 點擊「運行伺服器」
    • 一個黑底白字的命令行窗口會彈出(這可能需要一小段時間)。從這個窗口中複製rcon的密碼(也可以在遊戲路徑的autoexecserver.cfg文件中查看並設置)。
  3. 打開遊戲客戶端的瀏覽伺服器界面,在上方選擇區域網,刷新後即可加入。
  4. 進入遊戲後,按f2打開伺服器控制台rcon,然後輸入密碼來獲得管理員指令的使用權限。
  5. 介紹完畢

然而,這樣建立的伺服器只能夠讓處在同一區域網中的玩家加入。如果其他玩家不在你身旁,那麼想要讓他們加入就需要更多步驟。


讓本地伺服器連接至公網

這一步需要你進行埠映射,其方式取決於你的路由器品牌和類型。

  1. 在路由器上映射或者轉發UDP埠8303。
    • 瀏覽器上一般都有關於埠映射或者轉發的教程。內容通常會涉及到登錄瀏覽器接口,不同的家庭各有所異。
    • 確保設置中使用了UDP協議而不是TCP或者兩者共用。
    • DDNet默認使用8303埠,如果您對於伺服器足夠熟悉,也可以通過更改伺服器配置文件中的sv_port參數來使用其它埠。
  2. 在 F2 伺服器控制台或者伺服器配置文件中使用sv_register 1可以讓您的伺服器出現在遊戲伺服器界面的網際網路列表中。注意這麼做會公開您的家庭網絡IP,具有一定風險。

一些網絡運營商會使用電信級NAT而不提供本地 IPv4 地址的完整級別保護,因此可能無法使用埠轉發,以上將伺服器聯網的方法變得不可用。(關於 IPV6 的方法此處不涉及。)

在Linux上設置伺服器

Linux

方法 1 (編譯伺服器)
[展開 / 摺疊]
1.上傳伺服器

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 decrease build time and wont build unneccessary files.

方法 2 (使用預編譯的二進位文件)
[展開 / 摺疊]
1. 從DDNet 下載頁面(download page)上下載二進位文件

2. 解壓到文件夾

3. 啟動伺服器

  • ./DDNet-Server

4. 轉發伺服器埠(默認為8303)

5.使用 IP 通過客戶端連接

  • Press F1
  • connect "Server-IP"

6. 遊玩

關於埠轉發可以參閱 http://portforward.com/

伺服器設置與地圖

您可以在 Teeworlds 文件夾中找到設置和地圖引導。

  • Windows系統:位於 AppData/Roaming/Teeworlds 路徑下。
  • Linux系統:(地址待定)。
  • Mac系統:(地址待定)。


伺服器配置文件

伺服器配置文件中包含了啟動伺服器時自動運行的設置和指令,例如將隨機的伺服器管理員密碼改為固定密碼。

首先進入 Teeworlds 文件夾而非 DDNet 文件夾,創建一個名為 autoexec_server.cfg 的文本文件,確保後綴完全一致。

編輯該文件可以快速增加命令,每條命令獨自占據一行。下面給出常見命令的示例:

  • 設置管理員密碼:sv_rcon_password <密码>
  • 設置進入伺服器密碼:sv_password <密码>
  • 設置伺服器名字:sv_name <名字>
  • 在網際網路列表公開伺服器:sv_register 1
  • 允許使用作弊指令:sv_test_cmds 1


伺服器地圖

伺服器地圖保存在 Teeworlds/maps 路徑中,加載伺服器地圖可以使用伺服器命令sv_map <地图名>


另見