来源:https://yangwenqing.com/archives/1457/

发现是2020年就有的东西。试了下挺好用的。正好有个2C2G的小鸡空着。。

第一次使用文章的命令启动。
卡住了。直接SSH掉线。硬盘一直再读。等1小时都没用。
后来加参数。限制了CPU和内存。瞬间就启动成功了。

!!!内存小于2G的别试了。会有问题

docker run -dit -m 1800m --memory-swap 2g  --cpu-period=100000 --cpu-quota=90000 --name hmxy --net=host --restart always yovter/hmxy:20.04

我是根据我的小鸡2C2G配置的。可以根据自己的情况修改

8888端口是宝塔管理端口。建议用IP白名单登录。安全点。
游戏默认是80端口。也可以用别的端口。
5201是游戏端口(1区)。
上面的端口需要防火墙设置下。。

“连接中断”的问题:
我也遇到了。计划任务那里,关闭再开启就行。
或者,你选择2区的话,也会有这个提示。默认2区是不能连接的。

“跨服”相关任务无法执行问题(跨服任务不能创建房间):
我一开始限制1.5G内存启动的。可能导致了跨服脚本没有启动。
(我在本地4C8G虚拟机没遇到这个情况)

我是有已经开着,重启数据会丢,就修改了任务文件。没遇到这个问题的不用往下看了。

#宝塔修改文件
/root/server/lua/logic/player/fuben/CrossTeamPlug.lua
#function ...()后面添加我写的内容

function CrossTeamPlug:onInitClient()
-- 自动完成一次跨服组队副本,参数可根据需要调整
self:DoResult(true, 1, 3)
...

function CrossTeamPlug:DoResult(iswin, level, membercount)
-- 强制判定为胜利,并设置默认参数
iswin = true
level = level or 1
membercount = membercount or 3
...

#进入容器,重启脚本
docker exec -it hmxy bash
./gamectl.sh updatecross

上面的执行后。跨服相关任务就不会卡住了