心灵终结吧 关注:83,399贴子:3,010,500
  • 40回复贴,共1

【简明教程】如何架设 CNCNet 隧道服务器

只看楼主收藏回复

众所周知,想在 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
向开发者们致敬!


IP属地:北京1楼2023-10-03 01:45回复
    两个链接似乎没发出去,这里是它们的 base64 编码:
    aHR0cHM6Ly90aWViYS5iYWlkdS5jb20vcC81MzEzMDI0NDk2
    ----------
    aHR0cHM6Ly9mb3J1bXMuY25jbmV0Lm9yZy90b3BpYy82MzI1LWhvdy10by1ob3N0LWEtY25jbmV0LXNlcnZlci8=


    IP属地:北京2楼2023-10-03 01:47
    回复
      别沉啊


      IP属地:北京来自Android客户端3楼2023-10-03 08:44
      回复
        顶你


        IP属地:内蒙古来自Android客户端4楼2023-10-03 09:22
        回复


          IP属地:陕西来自Android客户端5楼2023-10-03 09:24
          回复
            有无视频教程


            IP属地:四川来自Android客户端6楼2023-10-03 09:38
            收起回复


              IP属地:湖北来自Android客户端7楼2023-10-03 10:48
              回复
                直接报错,搜解决方案也搜不到,大佬知道怎么解决吗?Ubuntu18 ,
                Unhandled exception. System.InvalidCastException: Unable to cast object of type 'CommandLine.NotParsed`1[CnCNetServer.Options]' to type 'CommandLine.Parsed`1[CnCNetServer.Options]'.
                at CnCNetServer.Program.Main(String[] args)
                Aborted (core dumped)


                IP属地:北京8楼2023-10-14 16:03
                收起回复
                  天天联机报错,有条件了我也得架个服务器


                  IP属地:吉林来自Android客户端9楼2023-10-15 21:01
                  回复
                    顶啊


                    IP属地:广西10楼2023-10-16 13:51
                    回复
                      服务已经开起来了,但是cncnet上找不到俺的服务器咋办


                      IP属地:江苏11楼2023-10-19 11:50
                      收起回复
                        大佬,我下好了怎么修改参数,vim进去都是乱码


                        IP属地:陕西来自Android客户端12楼2023-11-21 19:33
                        收起回复
                          这个服务有没有个管理用的东西或者日志啥的


                          IP属地:江西13楼2024-01-18 00:48
                          收起回复
                            如果设置--masterpw,在客户端连接时支持验证吗?比如想做一个私服?


                            IP属地:辽宁14楼2024-02-21 23:45
                            收起回复