LAN Server/zh: Difference between revisions

From DDraceNetwork
No edit summary
(Updating to match new version of source page)
Line 1: Line 1:
<languages/>
<languages />
 
LAN 本地服务器允许玩家作为服主在家庭网络中建立服务器,服主对服务器拥有完全控制权。
LAN 本地服务器允许玩家作为服主在家庭网络中建立服务器,服主对服务器拥有完全控制权。


有许多原因会促使玩家创建本地服务器,例如无法忍受网络波动或者不希望游玩过程受他人影响。下面是一些本地服务器的优点:
有许多原因会促使玩家创建本地服务器,例如无法忍受网络波动或者不希望游玩过程受他人影响。下面是一些本地服务器的优点:


<div class="mw-translate-fuzzy">
* 在私下里和朋友一起游玩地图
* 在私下里和朋友一起游玩地图
* 游玩官方服务器中没有的地图
* 游玩官方服务器中没有的地图
* 用管理员指令和工具测试地图
* 用管理员指令和工具测试地图
* 当然重点不是地图!
* 当然重点不是地图!
</div>


然而,本地服务器也存在缺点。您要做许多步骤才能允许朋友加入服务器,相比起官方服务器,不知哪一个连接更稳定。并且在缺少官方认证的情况下,完成地图的成绩不会上传,只能在本地查看,您也无法获得通关排名。
然而,本地服务器也存在缺点。您要做许多步骤才能允许朋友加入服务器,相比起官方服务器,不知哪一个连接更稳定。并且在缺少官方认证的情况下,完成地图的成绩不会上传,只能在本地查看,您也无法获得通关排名。
Line 13: Line 16:


<span id="Creating_and_Joining_a_LAN_Server"></span>
<span id="Creating_and_Joining_a_LAN_Server"></span>
<div class="mw-translate-fuzzy">
== 建立和加入本地服务器 ==
== 建立和加入本地服务器 ==
</div>


在新版DDNet客户端中,建立本地服务器非常简单。  
在新版DDNet客户端中,建立本地服务器非常简单。  


<div class="mw-translate-fuzzy">
# 找到游戏的开始菜单
# 找到游戏的开始菜单
# 点击“运行服务器”
# 点击“运行服务器”
Line 22: Line 28:
# 打开游戏客户端的浏览服务器界面,在上方选择局域网,刷新后即可加入。
# 打开游戏客户端的浏览服务器界面,在上方选择局域网,刷新后即可加入。
# 进入游戏后,按f2打开服务器控制台rcon,然后输入密码来获得[[Special:MyLanguage/Settings and Commands|管理员指令]]的使用权限。
# 进入游戏后,按f2打开服务器控制台rcon,然后输入密码来获得[[Special:MyLanguage/Settings and Commands|管理员指令]]的使用权限。
</div>


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


<span id="Setting_Up_Your_LAN_Server_for_Online_Play"></span>
<span id="Setting_Up_Your_LAN_Server_for_Online_Play"></span>
<div class="mw-translate-fuzzy">
== 让本地服务器连接至公网 ==
== 让本地服务器连接至公网 ==
</div>


这一步需要你进行端口映射,其方式取决于你的路由器品牌和类型。
这一步需要你进行端口映射,其方式取决于你的路由器品牌和类型。


<div class="mw-translate-fuzzy">
# 在路由器上映射或者转发UDP端口8303。
# 在路由器上映射或者转发UDP端口8303。
#* 浏览器上一般都有关于端口映射或者转发的教程。内容通常会涉及到登录浏览器接口,不同的家庭各有所异。
#* 浏览器上一般都有关于端口映射或者转发的教程。内容通常会涉及到登录浏览器接口,不同的家庭各有所异。
Line 38: Line 48:


一些网络运营商会使用电信级NAT而不提供本地 IPv4 地址的完整级别保护,因此可能无法使用端口转发,以上将服务器联网的方法变得不可用。(关于 IPV6 的方法此处不涉及。)
一些网络运营商会使用电信级NAT而不提供本地 IPv4 地址的完整级别保护,因此可能无法使用端口转发,以上将服务器联网的方法变得不可用。(关于 IPV6 的方法此处不涉及。)
</div>


<span id="Setting_Up_on_Linux_Server"></span>
<span id="Setting_Up_on_Linux_Server"></span>
<div class="mw-translate-fuzzy">
== 在Linux上设置服务器 ==
== 在Linux上设置服务器 ==
</div>




<span id="Linux"></span>
<div class="mw-translate-fuzzy">
=== Linux ===
=== Linux ===
</div>


<div class="mw-translate-fuzzy">
{|- class="wikitable" style="width:100%;"
{|- class="wikitable" style="width:100%;"
| <div style=" display: flex; justify-content: space-between;"><div>方法 1 (编译服务器)</div> <div class="mw-customtoggle-methodOne" style="color:#0B0080;"><small>[展开 / 折叠]</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.上传服务器
| 1.上传服务器
</div>


<div class="mw-translate-fuzzy">
* <code>sudo apt update && apt upgrade</code>
* <code>sudo apt update && apt upgrade</code>
</div>


2. 安装git
2. 安装git


<div class="mw-translate-fuzzy">
* <code>sudo apt install git</code>
* <code>sudo apt install git</code>
</div>


3. 创建目录
3. 创建目录


<div class="mw-translate-fuzzy">
* <code>mkdir DDNet-Server</code>
* <code>mkdir DDNet-Server</code>
</div>


<div class="mw-translate-fuzzy">
4. 复制Github上的库
4. 复制Github上的库
</div>


<div class="mw-translate-fuzzy">
* <code>git clone --recursive --depth=1 <nowiki>https://github.com/ddnet/ddnet</nowiki></code>
* <code>git clone --recursive --depth=1 <nowiki>https://github.com/ddnet/ddnet</nowiki></code>
</div>


<div class="mw-translate-fuzzy">
5. 安装依赖包
5. 安装依赖包
</div>


<div class="mw-translate-fuzzy">
* <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>
* <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 class="mw-translate-fuzzy">
6. 进入 DDNet 文件夹
6. 进入 DDNet 文件夹
</div>


<div class="mw-translate-fuzzy">
* <code>cd ddnet</code>
* <code>cd ddnet</code>
</div>


<div class="mw-translate-fuzzy">
7. 编译 DDNet
7. 编译 DDNet
</div>


<div class="mw-translate-fuzzy">
* <code>mkdir build</code>
* <code>mkdir build</code>
* <code>cd build</code>
* <code>cd build</code>
* <code>cmake -DCLIENT=OFF ..</code>
* <code>cmake -DCLIENT=OFF ..</code>
* <code>make -j$(nproc)</code>
* <code>make -j$(nproc)</code>
</div>


<div class="mw-translate-fuzzy">
8. 服务器,启动!
8. 服务器,启动!
</div>


<div class="mw-translate-fuzzy">
* <code>./DDNet-Server</code>
* <code>./DDNet-Server</code>
</div>


<div class="mw-translate-fuzzy">
9. 转发服务器端口(默认为8303)
9. 转发服务器端口(默认为8303)
</div>


<div class="mw-translate-fuzzy">
10.使用 IP 通过客户端连接
10.使用 IP 通过客户端连接
</div>


<div class="mw-translate-fuzzy">
* Press F1
* Press F1
* connect "Server-IP"
* connect "Server-IP"
</div>


<div class="mw-translate-fuzzy">
11.游玩
11.游玩
</div>


更多内容参阅 [https://github.com/ddnet/ddnet github]
更多内容参阅 [https://github.com/ddnet/ddnet github]
|}
|}


<div class="mw-translate-fuzzy">
{|- class="wikitable" style="width:100%;"
{|- class="wikitable" style="width:100%;"
| <div style=" display: flex; justify-content: space-between;"><div>方法 2 (使用预编译的二进制文件)</div> <div class="mw-customtoggle-methodTwo" style="color:#0B0080;"><small>[展开 / 折叠]</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. 从[https://ddnet.org/downloads/ DDNet 下载页面(download page)]上下载二进制文件
| 1. 从[https://ddnet.org/downloads/ DDNet 下载页面(download page)]上下载二进制文件
</div>


2. 解压到文件夹
2. 解压到文件夹
Line 104: Line 158:
3. 启动服务器
3. 启动服务器


<div class="mw-translate-fuzzy">
* <code>./DDNet-Server</code>
* <code>./DDNet-Server</code>
</div>


4. 转发服务器端口(默认为8303)
4. 转发服务器端口(默认为8303)
Line 110: Line 166:
5.使用 IP 通过客户端连接
5.使用 IP 通过客户端连接


<div class="mw-translate-fuzzy">
* Press F1
* Press F1
* connect "Server-IP"
* connect "Server-IP"
</div>


6. 游玩
6. 游玩
Line 120: Line 178:


<span id="Server_Settings_and_Maps"></span>
<span id="Server_Settings_and_Maps"></span>
<div class="mw-translate-fuzzy">
== 服务器设置与地图 ==
== 服务器设置与地图 ==
</div>


您可以在 Teeworlds 文件夹中找到设置和地图引导。
您可以在 Teeworlds 文件夹中找到设置和地图引导。


<div class="mw-translate-fuzzy">
* Windows系统:位于 AppData/Roaming/Teeworlds 路径下。
* Windows系统:位于 AppData/Roaming/Teeworlds 路径下。
* Linux系统:(地址待定)。
* Linux系统:(地址待定)。
* Mac系统:(地址待定)。
* Mac系统:(地址待定)。
</div>




<span id="Server_Autoexecutables"></span>
<span id="Server_Autoexecutables"></span>
<div class="mw-translate-fuzzy">
=== 服务器配置文件 ===
=== 服务器配置文件 ===
</div>


服务器配置文件中包含了启动服务器时自动运行的设置和指令,例如将随机的服务器管理员密码改为固定密码。
服务器配置文件中包含了启动服务器时自动运行的设置和指令,例如将随机的服务器管理员密码改为固定密码。
Line 138: Line 202:
编辑该文件可以快速增加命令,每条命令独自占据一行。下面给出常见命令的示例:
编辑该文件可以快速增加命令,每条命令独自占据一行。下面给出常见命令的示例:


<div class="mw-translate-fuzzy">
* 设置管理员密码:<code>sv_rcon_password <密码></code>
* 设置管理员密码:<code>sv_rcon_password <密码></code>
* 设置进入服务器密码:<code>sv_password <密码></code>
* 设置进入服务器密码:<code>sv_password <密码></code>
Line 143: Line 208:
* 在互联网列表公开服务器:<code>sv_register 1</code>
* 在互联网列表公开服务器:<code>sv_register 1</code>
* 允许使用作弊指令:<code>sv_test_cmds 1</code>
* 允许使用作弊指令:<code>sv_test_cmds 1</code>
</div>




<span id="Server_Maps"></span>
<span id="Server_Maps"></span>
<div class="mw-translate-fuzzy">
=== 服务器地图 ===
=== 服务器地图 ===
</div>


服务器地图保存在 Teeworlds/maps 路径中,加载服务器地图可以使用服务器命令<code>sv_map <地图名></code>。
服务器地图保存在 Teeworlds/maps 路径中,加载服务器地图可以使用服务器命令<code>sv_map <地图名></code>。
Line 152: Line 220:


<span id="See_also"></span>
<span id="See_also"></span>
<div class="mw-translate-fuzzy">
== 另见 ==
== 另见 ==
</div>


<div class="mw-translate-fuzzy">
* [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:}}]]

Revision as of 16:21, 8 September 2023

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

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

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

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


建立和加入本地服務器

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

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

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


讓本地服務器連接至公網

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

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

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

在Linux上設置服務器


Linux

方法 1 (編譯服務器)
[展開 / 摺疊]
1.上傳服務器
  • sudo apt update && apt upgrade

2. 安裝git

  • sudo apt install git

3. 創建目錄

  • mkdir DDNet-Server

4. 複製Github上的庫

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

5. 安裝依賴包

  • 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. 進入 DDNet 文件夾

  • cd ddnet

7. 編譯 DDNet

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

8. 服務器,啟動!

  • ./DDNet-Server

9. 轉發服務器端口(默認為8303)

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

  • Press F1
  • connect "Server-IP"

11.遊玩

更多內容參閱 github

方法 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 <地图名>


另見