📚 建立联机服务器

《沙盘引擎》支持玩家以多种方式建立服务器。

通常情况下,建立服务器的方式分为主机服务器专用服务器两种模式:

  • 主机服务器:以当前游戏作为主机建立服务器,玩家离开服务器则关闭服务器
  • 专用服务器:通常建立于Windows Server等服务器系统上,通过CMD无头模式创建,适合24小时不断线服务器

📒 主机服务器

由于《沙盘引擎》的开放性,因此并非每个模组的【建立主机服务器】方式都完全相同

通常情况下,模组开发者应该为玩家提供游戏主菜单的【建立游戏】、【建立服务器】相关按钮,玩家可根据具体模组来建立主机服务器。

注意:任何基于【主机服务器】建立的房间均以玩家本身作为“房主”,玩家断线或关闭游戏将自动关闭服务器。

📒 专用服务器

如果希望建立一个托管在Window Server等云服务器上,那么更适合使用【专用服务器(Bat+Cmd)】的方式来建立。

【专用服务器】与游戏内常规【主机服务器】建立方式不同,专用服务器更适用于没有显卡的Windows 服务器系统,也就是会以CMD控制台的模式建立一个服务器,没有游戏画面,且占用要求更低

《沙盘引擎》官方包体内置DedicatedServer\目录,此目录并没有特殊用途,但这是建立专用服务器的快捷方式。

📘 DedicatedServer.bat

使用任何文本编辑器打开DedicatedServer.bat,将会看到标准的bat命令:

start ..\SandtableEngine.exe @modPackage -nographics -batchmode -serverbuild -frame_128 -logfile .\ServerLog.txt
start ..\SandtableEngine.exe @%param% -nographics -batchmode -serverbuild -frame_128 -logfile .\ServerLog.txt

代码解释:启动SandtableEngine.exe文件,以@xxx.xxx.xxx模组启动,命令-nographics -batchmode -serverbuild表示服务端模式启动,-frame128表示最高帧数限制为128,输出相关日志到文件ServerLog.txt

注意:命令行参数-frame_128关键影响服务器性能和同步效率,如果不填写默认为-frame_60,此数值越高服务器越流畅(占用CPU更高)。

📘 专用服务器配置

由于《沙盘引擎》的开放性,因此并非每个模组的【服务器配置读取】都完全相同

默认情况下,初始模组并不能直接支持专用服务器的建立,因为专用服务器并没有UI画面,控制台并不知道该如何进行下一步(例如:点击建立服务器)。

因此,如果模组支持建立专用服务器,开发者应该为其编写关于IsServerMode()StartUp.json的相关编写(Startup.json配置文件),以允许玩家通过Cmd方式建立专用服务器。

如果模组开发者没有为模组实现配置代码,玩家将无法建立专用服务器。

📒 加入服务器

通常情况下,当服务器加载完毕后,你就可以通过【~】控制台指令或服务器浏览器来加入你的服务器了(默认地址:127.0.0.1:8192)。

服务器地址127.0.0.1:8192是用户本地的IP地址,几乎所有电脑用户的本地地址都是127.0.0.1,如果想和朋友联机,直接发送这个地址是不行的。

如果是VPS云服务器等,需要正确开放端口安全组,然后将公网IP地址分享给其他人。

如果是家用电脑网络,需要确认网络支持公网IP(通常需要向运营商申请),然后正确端口映射及防火墙配置,最后将公网IP地址分享给其他人。

如果出现本地玩家进入正常,但其他人无法连接的情况,通常是因为防火墙、端口映射等常规问题,与其他联机游戏一样,这里不做过多说明。

📒 常见问题

📘 Linux服务器?

《沙盘引擎》是一款Windows系统游戏,因此默认不适用于Linux系统。

根据社区的反馈,可考虑使用Linux Wine尝试运行Windows版服务器。

📘 多开服务器?

有些情况可能希望多开服务器(或多开不同模组的服务器),沙盘引擎默认支持多个应用程序同时运行,因此可以直接开启。

有些时候,可能目标网络端口被占用(或者模组使用同一个端口),这需要为bat命令添加-port_81938193是示例端口号)来强制指定网络端口。

📘 专用服务器:配置建立的规则\存档?

文件Mod\StartUp.json是一个模组自定义的配置文件,通常模组开发者会根据此文件来设计专用服务器的配置。

不同模组的专用服务器配置可能完全不同,这需要根据模组开发者的提示来修改,已达到期望的指定效果。

有些情况下,玩家也可以指定命令行参数-startup_fileName来指定选择重定向StartUp.json文件。

📘 专用服务器:DX支持问题?

默认情况下,专用服务器不使用GPU相关资源,但可能有概率需要调用DX相关库。

如果运行系统(通常是Windows Server)不存在DX库并弹出相关提示,考虑安装基础DX运行库