🎁
🏆 导航菜单
🎪 扩展内容
🎯 沙盘引擎文档
🕹️ 文章及书籍&教程
🎖️ 外部的链接
🎁
🏆 导航菜单
🎪 扩展内容
🎯 沙盘引擎文档
🕹️ 文章及书籍&教程
🎖️ 外部的链接
本文包括关于“建立联机服务器”模组开发\玩家通用介绍内容。
当玩家想要建立一个游戏服务器时,首先要明确一点——《沙盘引擎》只提供了基础的服务器建立流程,具体的如何建立、建立参数等均由衍生作品开发者设定。
也就是说,实际游戏体验过程中,不同游戏的建立服务器(房间)流程可能有很多不同情况。
通常一个合格的游戏,应该会有明显的【游戏内建立服务器】按钮以供玩家点击使用,除此之外,还有一种针对高级玩家的【建立专用服务器】。
如果玩家有意开启一个【专用服务器】托管在Window Server等云服务器上,那么就需要使用专用服务器的方式建立。
与常规【游戏内直接建立】的方式不同,专用服务器更适用于没有显卡的Windows 服务器系统,也就是会以控制台的模式建立一个服务器,没有游戏画面。
通常情况下,沙盘引擎官方包体内已经存在了
DedicatedServer.bat
和DedicatedServer.json
两个文件,原始文件状态下,这就是一组建立服务器的快捷方式。
你可以使用任何文本编辑器打开DedicatedServer.bat
,你会看到一串标准的bat命令。
//表示启动同目录下的SandtableEngine.exe文件,同时以无显卡、批处理、服务端模式启动 start %~dp0SandtableEngine.exe -nographics -batchmode -serverbuild -logfile serverlog.txt
如果你熟悉bat应该会更了解这些内容的含义,不过通常情况下你不需要修改这里的任何内容,应该主要留意DedicatedServer.json
关键文件。
注意:当用户使用此bat启动游戏(或使用-serverbuild
参数启动游戏时),都会以DedicatedServer.json
内的Json数据作为启动参数加载。
如你所见,这是一个经典的Json
文件,所以此文件内规范的Json数据格式是必须的。
//注意:Json文件并不支持'//'类型的注释,这里只作说明作用,如果需要使用请自行删除注释 { "Mod": "com.sengine.example", //模组包名(要启动哪个模组的服务器) "HostName": "Sandtable Engine Server", //服务器名称 "Transport": 0, //0=Socket, 1=SteamNet(Beta) "Address": "127.0.0.1:8192", //服务器地址(Socket模式),通常不用修改,或只需要修改端口号 "Map": "helloworld", //地图名称 "MaxPlayers": 100, "Password": "", //服务器密码 "RconPassword": "", //管理员密码,如果这里为空,则会生成随机密码(默认),具体指令参考【游戏原生功能】 "Param": "" //模组自定义参数(字符串类型),这里具体填写以及写什么,应该严格遵循【模组开发者】的要求规范,否则可能会引起错误 //Param参数可能会要求填写一个新的Json文本,例如一些存档名称的选择等,这些需要根据不同模组的要求来填写 }
当你正确修改好一个DedicatedServer.json
后,就可以点击DedicatedServer.bat
开启一个专用游戏服务器了,如果配置方面没有什么问题,很快你就会看到一个一直显示的【黑色控制台】(此程序如果关闭,服务器也就会关闭),控制台内会输出一些服务器信息可供参考。
通常情况下,当服务器加载完毕后,你就可以通过【~】控制台指令或服务器浏览器来加入你的服务器了(默认地址:127.0.0.1:8192
)。
服务器地址
127.0.0.1:8192
是用户本地的IP地址,几乎所有电脑用户的本地地址都是127.0.0.1
,所以如果想和朋友联机,直接发给他这个地址是不行的。如果是VPS云服务器等,你需要正确开放端口安全组,然后将公网IP地址发送给你的好友。
如果是家用电脑情况,你需要确认你的网络支持公网IP(一般需要向运营商申请),然后正确端口映射及防火墙配置,最后将公网IP地址发送给你的好友。
如果出现开服玩家本地进入正常,但好友通过IP无法连接的情况,通常是因为防火墙、端口映射等常规问题,与其他联机游戏一样,这里不做过多说明。
补充:玩家可使用【~】控制台获取当前世界的加载建立参数(Json),只需在控制台输入
serverinitconfig
即可在控制台输出,有助于开发者、玩家自定义当前模组的【专用游戏服务器】。例如:可能模组开发者并不会直接明确的在某处写着【专用服务器】的
Param
参数如何填写,但模组玩家有开启专用游戏服务器的需求(不知道如何正确填写模组Param
参数),这就可以先在模组游戏内启动一个服务器,然后输入控制台指令serverinitconfig
获得输出Json(和DedicatedServer.json
配置文件相同的内容文本),然后将获取的Json全部复制到DedicatedServer.json
或者按需使用指定内容即可(如果玩家作为客户端加入某个服务器,将无法正确获取到加载建立参数)。
有时可能用户有在Windows Server
多开服务器(或者多开不同模组的服务器)需求,这是允许且支持的,你只需要多份DedicatedServer.json
并作不同内容配置,然后启动时确保想启动的配置文件名称为DedicatedServer.json
即可。
考虑到每次更改文件名的方法有些麻烦,建议完整克隆一份新的沙盘引擎目录,相当于每个服务器都是一个独立的目录,这样也有助于分类管理。