众所周知,想在 MO 中联机需要通过 CNCNet 大厅,而事实上 CNCNet 只提供游戏大厅和房间托管,真正让玩家联机的是隧道服务器。由于众所周知的原因,CNCNet 官方提供的服务器经常出现不稳定、高延迟等问题。为了解决这些问题,国内已经有很多大佬开始自行架设 CNCNet 服务器,然而很遗憾,贴吧内有关架设 CNCNet 服务器的教程仍然很少,因此我们在这里再发一个教程。
这里有一个由百夫长大佬发的早期教程:【图片】【官方告示】CnCNet中国隧道服务器需要你们的帮助!【心灵终结吧】_百度贴吧 (baidu.com)
在学习本教程前,请你:
拥有一台 x86_64,具有公网 IPv4 地址的服务器,并使用具有 root 权限的用户登录到这台服务器(或确保你需要的端口已经开启,默认为 8054, 3478, 50000 和 50001)。我们假设你的服务器搭载 Debian 12。
让我们开始吧。
----------
首先,为 CNCNet 服务器建立一个新的目录:
mkdir cncnet && cd cncnet
然后,获取 CNCNet 服务器的二进制文件:
wget -c https://downloads.cncnet.org/cncnet-server.tgz -O - | tar -xz
目录中现在应该存在一个名为 cncnet-server 的二进制文件了。你可以使用 ./cncnet-server --help 来查看帮助内容,你应该得到类似下面的输出:
几个重点参数:
--port:指定一个端口,默认为 50001,如果该端口在你的服务器上不可用,可以将它更改到别的端口。出于保险起见,请同时允许 TCP 和 UDP 连接。
--portv2:同上一条。
--name:服务器的名字,在 CNCNet 大厅创建房间时“选择服务器”中看到的名字。
--maxclients:最大连接客户端,请根据自己服务器的性能决定。
其它参数默认省略即可。需要注意的是,--name 参数后所接的字符串需要用半角双引号包围,且只能使用英文,如 --name "test server"。
日志默认会被打印到标准输出,你可以使用 systemd 之类的守护进程或 screen 等工具保持服务器运行(个人推荐 screen,方便好用,适合调试)。随后,等待一段时间即可在创建房间时看到自己的服务器。这个时间大概不会超过五分钟(不过官网上说可能需要四个小时)。
有关性能问题:
我的服务器是两核 4G,带宽 5M 的腾讯云主机,可以支持至少 33 人同时流畅游玩(这是我观测到的最高在线人数)。需要指出的是,在当时后台正在运行一个饥荒服务器(带有洞穴),其中有三人在跑图开荒。因此,各位可以放心架设 CNCNet 隧道服务器——它真的很节省资源。
最后,我的服务器是 sigmundcoltd,虽然它刚刚架设不久,但我注意到已经有人在使用它了。希望大家用这个服务器能玩的开心!
----------
这篇教程大体就是用更加易懂的语言(也就是中文)重写了一遍 CNCNet 的官方教程罢了。原文的链接在这里:How to host a CnCNet server - CnCNet Discussion - CnCNet Community Forums
向开发者们致敬!
这里有一个由百夫长大佬发的早期教程:【图片】【官方告示】CnCNet中国隧道服务器需要你们的帮助!【心灵终结吧】_百度贴吧 (baidu.com)
在学习本教程前,请你:
拥有一台 x86_64,具有公网 IPv4 地址的服务器,并使用具有 root 权限的用户登录到这台服务器(或确保你需要的端口已经开启,默认为 8054, 3478, 50000 和 50001)。我们假设你的服务器搭载 Debian 12。
让我们开始吧。
----------
首先,为 CNCNet 服务器建立一个新的目录:
mkdir cncnet && cd cncnet
然后,获取 CNCNet 服务器的二进制文件:
wget -c https://downloads.cncnet.org/cncnet-server.tgz -O - | tar -xz
目录中现在应该存在一个名为 cncnet-server 的二进制文件了。你可以使用 ./cncnet-server --help 来查看帮助内容,你应该得到类似下面的输出:
几个重点参数:
--port:指定一个端口,默认为 50001,如果该端口在你的服务器上不可用,可以将它更改到别的端口。出于保险起见,请同时允许 TCP 和 UDP 连接。
--portv2:同上一条。
--name:服务器的名字,在 CNCNet 大厅创建房间时“选择服务器”中看到的名字。
--maxclients:最大连接客户端,请根据自己服务器的性能决定。
其它参数默认省略即可。需要注意的是,--name 参数后所接的字符串需要用半角双引号包围,且只能使用英文,如 --name "test server"。
日志默认会被打印到标准输出,你可以使用 systemd 之类的守护进程或 screen 等工具保持服务器运行(个人推荐 screen,方便好用,适合调试)。随后,等待一段时间即可在创建房间时看到自己的服务器。这个时间大概不会超过五分钟(不过官网上说可能需要四个小时)。
有关性能问题:
我的服务器是两核 4G,带宽 5M 的腾讯云主机,可以支持至少 33 人同时流畅游玩(这是我观测到的最高在线人数)。需要指出的是,在当时后台正在运行一个饥荒服务器(带有洞穴),其中有三人在跑图开荒。因此,各位可以放心架设 CNCNet 隧道服务器——它真的很节省资源。
最后,我的服务器是 sigmundcoltd,虽然它刚刚架设不久,但我注意到已经有人在使用它了。希望大家用这个服务器能玩的开心!
----------
这篇教程大体就是用更加易懂的语言(也就是中文)重写了一遍 CNCNet 的官方教程罢了。原文的链接在这里:How to host a CnCNet server - CnCNet Discussion - CnCNet Community Forums
向开发者们致敬!