LAN Server/zh: Difference between revisions
No edit summary |
No edit summary |
||
(13 intermediate revisions by the same user not shown) | |||
Line 14: | Line 14: | ||
<span id="Creating_and_Joining_a_LAN_Server"></span> | <span id="Creating_and_Joining_a_LAN_Server"></span> | ||
== 建立和加入本地服务器 == | == 建立和加入本地服务器 == | ||
在新版DDNet客户端中,建立本地服务器非常简单。 | 在新版DDNet客户端中,建立本地服务器非常简单。 | ||
# 找到游戏的开始菜单 | # 找到游戏的开始菜单 | ||
# 点击“运行服务器” | # 点击“运行服务器” | ||
Line 26: | Line 23: | ||
# 打开游戏客户端的浏览服务器界面,在上方选择局域网,刷新后即可加入。 | # 打开游戏客户端的浏览服务器界面,在上方选择局域网,刷新后即可加入。 | ||
# 进入游戏后,按f2打开服务器控制台rcon,然后输入密码来获得[[Special:MyLanguage/Settings and Commands|管理员指令]]的使用权限。 | # 进入游戏后,按f2打开服务器控制台rcon,然后输入密码来获得[[Special:MyLanguage/Settings and Commands|管理员指令]]的使用权限。 | ||
# 介绍完毕 | |||
然而,这样建立的服务器只能够让处在同一局域网中的玩家加入。如果其他玩家不在你身旁,那么想要让他们加入就需要更多步骤。 | 然而,这样建立的服务器只能够让处在同一局域网中的玩家加入。如果其他玩家不在你身旁,那么想要让他们加入就需要更多步骤。 | ||
Line 32: | Line 29: | ||
<span id="Setting_Up_Your_LAN_Server_for_Online_Play"></span> | <span id="Setting_Up_Your_LAN_Server_for_Online_Play"></span> | ||
== 让本地服务器连接至公网 == | == 让本地服务器连接至公网 == | ||
这一步需要你进行端口映射,其方式取决于你的路由器品牌和类型。 | 这一步需要你进行端口映射,其方式取决于你的路由器品牌和类型。 | ||
# 在路由器上映射或者转发UDP端口8303。 | # 在路由器上映射或者转发UDP端口8303。 | ||
#* 浏览器上一般都有关于端口映射或者转发的教程。内容通常会涉及到登录浏览器接口,不同的家庭各有所异。 | #* 浏览器上一般都有关于端口映射或者转发的教程。内容通常会涉及到登录浏览器接口,不同的家庭各有所异。 | ||
Line 46: | Line 40: | ||
一些网络运营商会使用电信级NAT而不提供本地 IPv4 地址的完整级别保护,因此可能无法使用端口转发,以上将服务器联网的方法变得不可用。(关于 IPV6 的方法此处不涉及。) | 一些网络运营商会使用电信级NAT而不提供本地 IPv4 地址的完整级别保护,因此可能无法使用端口转发,以上将服务器联网的方法变得不可用。(关于 IPV6 的方法此处不涉及。) | ||
<span id="Setting_Up_on_Linux_Server"></span> | <span id="Setting_Up_on_Linux_Server"></span> | ||
== 在Linux上设置服务器 == | == 在Linux上设置服务器 == | ||
<span id="Linux"></span> | <span id="Linux"></span> | ||
=== Linux === | === Linux === | ||
{|- 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.上传服务器 | ||
* <code>sudo apt update && apt upgrade</code> | * <code>sudo apt update && apt upgrade</code> | ||
2. 安装git | 2. 安装git | ||
* <code>sudo apt install git</code> | * <code>sudo apt install git</code> | ||
3. 创建目录 | 3. 创建目录 | ||
* <code>mkdir DDNet-Server</code> | * <code>mkdir DDNet-Server</code> | ||
4. 复制Github上的库 | 4. 复制Github上的库 | ||
* <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> | ||
5. 安装依赖包 | 5. 安装依赖包 | ||
* <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> | ||
6. 进入 DDNet 文件夹 | 6. 进入 DDNet 文件夹 | ||
* <code>cd ddnet</code> | * <code>cd ddnet</code> | ||
7. 编译 DDNet | 7. 编译 DDNet | ||
* <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> | ||
8. 服务器,启动! | 8. 服务器,启动! | ||
* <code>./DDNet-Server</code> | * <code>./DDNet-Server</code> | ||
9. 转发服务器端口(默认为8303) | 9. 转发服务器端口(默认为8303) | ||
10.使用 IP 通过客户端连接 | 10.使用 IP 通过客户端连接 | ||
* Press F1 | * Press F1 | ||
* connect "Server-IP" | * connect "Server-IP" | ||
11.游玩 | 11.游玩 | ||
更多内容参阅 [https://github.com/ddnet/ddnet github] | 更多内容参阅 [https://github.com/ddnet/ddnet github] | ||
|} | |} | ||
{|- 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)]上下载二进制文件 | ||
2. 解压到文件夹 | 2. 解压到文件夹 | ||
Line 156: | Line 107: | ||
3. 启动服务器 | 3. 启动服务器 | ||
* <code>./DDNet-Server</code> | * <code>./DDNet-Server</code> | ||
4. 转发服务器端口(默认为8303) | 4. 转发服务器端口(默认为8303) | ||
Line 164: | Line 113: | ||
5.使用 IP 通过客户端连接 | 5.使用 IP 通过客户端连接 | ||
* Press F1 | * Press F1 | ||
* connect "Server-IP" | * connect "Server-IP" | ||
6. 游玩 | 6. 游玩 | ||
Line 176: | Line 123: | ||
<span id="Server_Settings_and_Maps"></span> | <span id="Server_Settings_and_Maps"></span> | ||
== 服务器设置与地图 == | == 服务器设置与地图 == | ||
您可以在 Teeworlds 文件夹中找到设置和地图引导。 | 您可以在 Teeworlds 文件夹中找到设置和地图引导。 | ||
* Windows系统:位于 AppData/Roaming/Teeworlds 路径下。 | * Windows系统:位于 AppData/Roaming/Teeworlds 路径下。 | ||
* Linux系统:(地址待定)。 | * Linux系统:(地址待定)。 | ||
* Mac系统:(地址待定)。 | * Mac系统:(地址待定)。 | ||
<span id="Server_Autoexecutables"></span> | <span id="Server_Autoexecutables"></span> | ||
=== 服务器配置文件 === | === 服务器配置文件 === | ||
服务器配置文件中包含了启动服务器时自动运行的设置和指令,例如将随机的服务器管理员密码改为固定密码。 | 服务器配置文件中包含了启动服务器时自动运行的设置和指令,例如将随机的服务器管理员密码改为固定密码。 | ||
Line 200: | Line 141: | ||
编辑该文件可以快速增加命令,每条命令独自占据一行。下面给出常见命令的示例: | 编辑该文件可以快速增加命令,每条命令独自占据一行。下面给出常见命令的示例: | ||
* 设置管理员密码:<code>sv_rcon_password <密码></code> | * 设置管理员密码:<code>sv_rcon_password <密码></code> | ||
* 设置进入服务器密码:<code>sv_password <密码></code> | * 设置进入服务器密码:<code>sv_password <密码></code> | ||
Line 206: | Line 146: | ||
* 在互联网列表公开服务器:<code>sv_register 1</code> | * 在互联网列表公开服务器:<code>sv_register 1</code> | ||
* 允许使用作弊指令:<code>sv_test_cmds 1</code> | * 允许使用作弊指令:<code>sv_test_cmds 1</code> | ||
<span id="Server_Maps"></span> | <span id="Server_Maps"></span> | ||
=== 服务器地图 === | === 服务器地图 === | ||
服务器地图保存在 Teeworlds/maps 路径中,加载服务器地图可以使用服务器命令<code>sv_map <地图名></code>。 | 服务器地图保存在 Teeworlds/maps 路径中,加载服务器地图可以使用服务器命令<code>sv_map <地图名></code>。 | ||
Line 218: | Line 155: | ||
<span id="See_also"></span> | <span id="See_also"></span> | ||
== 另见 == | == 另见 == | ||
* [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 | ||
[[Category:Tutorial{{#translation:}}]] | [[Category:Tutorial{{#translation:}}]] |
Latest revision as of 12:42, 13 September 2023
LAN 本地伺服器允許玩家作為服主在家庭網絡中建立伺服器,服主對伺服器擁有完全控制權。
有許多原因會促使玩家創建本地伺服器,例如無法忍受網絡波動或者不希望遊玩過程受他人影響。下面是一些本地伺服器的優點:
- 在私下裏和朋友一起遊玩地圖
- 遊玩官方伺服器中沒有的地圖
- 用管理員指令和工具測試地圖
- 當然重點不是地圖而是聯機!
然而,本地伺服器也存在缺點。您要做許多步驟才能允許朋友加入伺服器,相比起官方伺服器,不知哪一個連接更穩定。並且在缺少官方認證的情況下,完成地圖的成績不會上傳,只能在本地查看,您也無法獲得通關排名。
建立和加入本地伺服器
在新版DDNet客戶端中,建立本地伺服器非常簡單。
- 找到遊戲的開始菜單
- 點擊「運行伺服器」
- 一個黑底白字的命令行窗口會彈出(這可能需要一小段時間)。從這個窗口中複製rcon的密碼(也可以在遊戲路徑的autoexecserver.cfg文件中查看並設置)。
- 打開遊戲客戶端的瀏覽伺服器界面,在上方選擇局域網,刷新後即可加入。
- 進入遊戲後,按f2打開伺服器控制台rcon,然後輸入密碼來獲得管理員指令的使用權限。
- 介紹完畢
然而,這樣建立的伺服器只能夠讓處在同一局域網中的玩家加入。如果其他玩家不在你身旁,那麼想要讓他們加入就需要更多步驟。
讓本地伺服器連接至公網
這一步需要你進行端口映射,其方式取決於你的路由器品牌和類型。
- 在路由器上映射或者轉發UDP端口8303。
- 瀏覽器上一般都有關於端口映射或者轉發的教程。內容通常會涉及到登錄瀏覽器接口,不同的家庭各有所異。
- 確保設置中使用了UDP協議而不是TCP或者兩者共用。
- DDNet默認使用8303端口,如果您對於伺服器足夠熟悉,也可以通過更改伺服器配置文件中的
sv_port
參數來使用其它端口。
- 在 F2 伺服器控制台或者伺服器配置文件中使用
sv_register 1
可以讓您的伺服器出現在遊戲伺服器界面的互聯網列表中。注意這麼做會公開您的家庭網絡IP,具有一定風險。
一些網絡運營商會使用電信級NAT而不提供本地 IPv4 地址的完整級別保護,因此可能無法使用端口轉發,以上將伺服器聯網的方法變得不可用。(關於 IPV6 的方法此處不涉及。)
在Linux上設置伺服器
Linux
方法 1 (編譯伺服器) [展開 / 摺疊] |
1.上傳伺服器
2. 安裝git
3. 創建目錄
4. 複製Github上的庫
5. 安裝依賴包
6. 進入 DDNet 文件夾
7. 編譯 DDNet
8. 伺服器,啟動!
9. 轉發伺服器端口(默認為8303) 10.使用 IP 通過客戶端連接
11.遊玩 更多內容參閱 github |
方法 2 (使用預編譯的二進制文件) [展開 / 摺疊] |
1. 從DDNet 下載頁面(download page)上下載二進制文件
2. 解壓到文件夾 3. 啟動伺服器
4. 轉發伺服器端口(默認為8303) 5.使用 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 <地图名>
。
另見
- DDNet Server configuration in Arch Wiki
- https://github.com/ddnet/ddnet-maps - DDNet maps repository