自从有了Fika,和小伙伴每天鏖战到两点 ,但是作为服务端的我经常要加班,狱友挨不到头眼苦不堪言
这咋办呢?于是研究了下服务端放在云服务器的方法
服务端主要工作是分发存档数据,开图以后主要的计算工作在主持战局玩家的电脑上
那么存档就很适合独立出来放在云上!也不需要特别高的硬件就可以跑的起来
注意:Fika是P2P进行联机的,所以就算存档服务端搭在云上,你还是需要使用原来的联机方式(如使用Radmin、n2n、hamachi等软件)
接下来就是搭建服务端的教程:
服务器配置需求:
我使用的是阿里云的99块钱ecs
2c2g的,带宽很小,目前看3个人联机是
先做一些前置配置
云服务器的防火墙需要开启端口
-
TCP 6969 用于服务端通信
-
UDP 25565 用于Fika通信
可以参考图
Linux服务端的获取
可以参考坛友
关于离线版云服务器安装详细教程(基于ECS服务器的linux环境)-ODDBA社区
ps: 如果你自行编译的话,建议删掉Server\project\src\Program.ts文件的这一段
否则你在使用nohup运行的时候就会喜提一个报错
/snapshot/src/Program.ts:14 process.stdout.setEncoding("utf8"); ^ TypeError: process.stdout.setEncoding is not a function at new Program (/snapshot/src/Program.ts:14:24)
或者使用我编译好的文件(3.8.3版本)
链接: https://pan.baidu.com/s/1-bMfqsaD4KzNJ-vh_F0m7A?pwd=msks
提取码: msks
现在你已经有一个编译好的linux服务端了
服务端文件结构是类似这样的:
如果你是自行编译的,有些需要注意的点:
-
编译出的服务端,如果文件名后面带有.exe,可以直接修改文件名删除。
接下来的内容都以不带.exe后缀做示例
-
需要修改Aki_Data/Server/configs/http.json内的绑定IP,推荐直接改成0.0.0.0
塔科夫!启动!
自行编译的用户
可以直接通过以下命令运行
nohup ./Aki.Server >> aki.log 2>&1 &
程序会挂在后台,输出日志可以在aki.log文件中看到
关闭应用需要手动抓pid:ps aux | grep “Aki.Server” | grep -v grep | awk '{print $2}'
然后手动关闭:kill -15 刚刚返回的pid
首次运行时会初始化一次数据
时间大概几分钟,启动完毕后会吃1G左右的内存
然后会在目录下生成user文件夹
这时候需要将Fika的服务端放进mod文件夹并重启
否则会在游戏界面无限看屏保
如果不联机可以不用这一步
下载的服务端
可以直接运行run.sh脚本,服务端会在后台启动,输出日志可以在aki.log文件中看到
需要停止时运行stop.sh即可(run.sh也可以用来重启,会自动杀掉存在的服务器进程)
下载的服务端已经包含了Fika的mod在里面,执行启动脚本后等待初始化完毕即可正常游戏
不需要手动添加fika的mod,也不需要进行重启
两个脚本文件放在最后面了,自行编译的用户可以下载使用
至此,服务器已经搭建好了
启动器中填入云服的IP,可以开始游戏了
游戏中F12的IP填写方式与本地服务一样,不要填成云服的IP了
云服server+fika 搭配n2n小黄鸭联机演示:
一些mod建议:
我用的mod不多,只打了动态地图、MG-mod
动态地图丢进服务端的mod文件夹后可以正常使用
但是MG-mod丢进去后会报错:C:/snapshot/project/obj/models/enums/Traders什么什么什么的
解决办法是手动修改MGmod的代码:
修改这两处后,MG-mod可以在linux环境正常运行
改完的文件仅能在linux环境运行,在Windows环境会报错!
所以请备份后放在linux上面改,不要弄混了
教程写完了,有写错的地方请大家狠狠的指出
最后放上启停脚本,注意需要服务端名称为Aki.Server才能正常使用,其他的请自行修改脚本内容
非常详细,太酷了...
666
牛皮啊,老兄
非常详细
太好了
大脑.exe未响应........
我那篇教程是白嫖的ECS服务器,一年的2+2,服务器负载其实不大,我这边最高峰6人分开玩没啥大毛病,就是存在偶尔卡商人转圈的情况(等一下就行),不过老哥还是牛逼的,关于模组报错那个我还不知道怎么处理的,你这么一说我有空就去试试看看能不能把那个报错解决了
求问这种方式支持通过ipv6访问服务端吗