求助在群晖上搭建《异星工场》服务器的方法
求助在群晖上搭建《异星工场》服务器的方法最好能用Docker实现
手头有4种方法 :
1 docker
2 docker+官方LINUX服务端
3 win
4 Linux
具体做法编辑中 本帖最后由 bickar 于 2020-4-24 03:35 编辑
群晖DOCKERFACTORIO
官方HEADLESS服务端 + DOCKER管理器(推荐用这个)
1、这破玩意非常吃时间,只要开游戏天就快亮了。特别是自架服+机油,那就更没边了。
2、非常吃U,3.0G四核起步,J系列搞个1K 2K还行,工厂规模大了,入门U抗不住。
准备工作:
给docker加速,自行百度
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
(1)去工厂官网下服务端建议HEADLESS,没声音没图像纯服务端节省资源
(2)解压后扔群晖里
以docker/factorio为例
顺便建立config saves mods三个文件夹与bin data同级
(3)在DOCKER的注册表里下载“factorio-server-manager”
(4)在容器里编辑“factorio-server-manager”
(5)启动“factorio-server-manager”
(6)http://群晖IP:8080 登录管理页面
用户名 admin
密码 factorio
(7)Game Configuration等等
挑几个重要的说
Autosave interval
//自动存档时间,单位分种
Name
//服务器名称
Require user verification
//这个最恶心正版认证,连不上Factorio.com,服务器就起不来
// true 或 false
public
//互联网游戏,这必须有公网ip或网络穿透盒子等,还得有正版帐号就是官网帐号。
// true 或 false
(8)SERVER CONTROL选地图开始游戏
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
服务端启动或连接常见问题:
1、看“卷” 左右两边是否正确
2、端口,本地端口默认自动需要手改,容器端口自动填写
3、Game Configuration 里 Require user verification尽量关闭(改成false),除非有互联网游戏需求。
FACTORIO.COM连接超时,认证失败会导致服务器启动不了
4、坏档也会导致服务器启动不了
Opening zip /opt/factorio/saves/11111111.tmp.zip failed: Bad zip file
关闭重启群晖时,尽量要在管理页面server control 里 点击“Stop & Save Factorio Server” 否则容易坏档
例如:
正常存档11111111.ZIP
坏档 11111111.tmp.zip
万一坏档,就重新选择11111111.zip 或AUTOSAVE1、2、3、4、5.ZIP启动服务端
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
还一问题一直没解决,服务器直连没问题,但局域网大厅经常刷不出。
bickar 发表于 2020-4-24 02:57
群晖DOCKERFACTORIO
官方HEADLESS服务端 + DOCKER管理器(推荐用这个)
1、这破玩意非常吃时间,只要开游 ...
非常感谢大佬!待会就去实践! 本帖最后由 k6686389 于 2020-4-24 15:30 编辑
bickar 发表于 2020-4-24 02:57
群晖DOCKERFACTORIO
官方HEADLESS服务端 + DOCKER管理器(推荐用这个)
1、这破玩意非常吃时间,只要开游 ...
已经成功登录了服务器设置界面,进行了设置,点击start Factorio server提示运行成功,但是address那里一直显示是0.0.0.0
游戏内服务器直连也连不上。
______________________________________________游戏是正版游戏,官网拿了token也填了进去,启动服务之后,随意点个什么地方,酒壶显示server offline
我的电脑有公网IP,做了DDNS,我是用域名:端口号这种方式连接的。
本帖最后由 bickar 于 2020-4-25 02:21 编辑
OFF LINE
Game Configuration 里 Require user verification关闭(改成false)试试
界面里有LOG可以看看
这几天只顾盖厂,IP.0.0.0.0还没找到问题所在----------------------------------------------------------------------
以上描述有误::更正一部分
1:ip 0.0.0.0,这个应该是可以登录WEB管理页的ip
2:还是 GAME CONFIGURATION里,或直接编辑server-settings.json
TOKEN我没填写,服务端启动时,回自动下载
3:若设置正确,启动服务端,先正版验证。然后会列出公网IP
正版验证Downloading https://auth.factorio.com/api-login?api_version=4
验证成功Got token from auth server for username(******)认证账号时会连接FACTORIO.COM,超时就会OFF LINE。
4:可以在局域网大厅里看到服务器名称、版本(右边base 0.18.19)、模组、标签等
5:互联网也正常,PING值咋这么大???
估计跟UU加速器有关,欧洲绕一圈又回到国内
客户端服务端,版本相同才能搜索到。。
FWQ 0.18.19 ,客户端自动更新0.18.21,这地方多走弯路了。。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
服务端更新:下个最新的HEADLESS,先停止服务器,全部覆盖到群晖原文件夹,再启动。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
先试局域网大厅或服务器直连,测试通,再试DDNS
另外看看路由里的端口转发 UDP34197 对外端口也得是这
不然互联网大厅里搜不到
还有方法是设置MDZ主机 (这个风险稍大)
如果还是OFFLINE,看日志
Downloading https://auth.factorio.com/api-login?api_version=4
*****
****
***
Goodbye
说明容器上不了网,也就验证补不了。
++++++++++++++++++++++++++++++
删掉容器重来,其余不变,网络里
“使用与DOCKER HOST相同的网络” 勾上
bickar 发表于 2020-4-25 03:33
如果还是OFFLINE,看日志
Downloading https://auth.factorio.com/api-login?api_version=4
1.网络如果勾选与docker host相同网络,是不是就无法设置容器端口了?该容器默认为80端口,与DSM、photostation貌似都有冲突。
2.Require user verification在我这里无法变更,不知道为什么,选择为false,update settings后,去别的页面返回来,它还是true,但是其他的选项可以正常的update settings
3.无法启动的日志如下:
10.059 Goodbye
9.997 Info ServerMultiplayerManager.cpp:776: updateTick(4294967295) changing state from(Ready) to(Closed)
9.997 Info ServerMultiplayerManager.cpp:138: Quitting multiplayer connection.
9.993 Error Main.cpp:840: require_user_verification must be enabled for public games.
9.990 Info AuthServerConnector.cpp:171: Got token from auth server for username(***********).
1.237 Info HttpSharedState.cpp:54: Downloading https://auth.factorio.com/api-login?api_version=2
1.236 Error PlayerAccessList.cpp:187: Failed to load access list: Value must be a list or dictionary in property tree at ROOT
1.235 Factorio initialised
1.231 Info PlayerData.cpp:75: Cloud player-data.json unavailable
1.231 Info PlayerData.cpp:68: Local player-data.json available, timestamp 1587950673
1.154 Prototype list checksum: 2767119397
0.778 Checksum of base: 4156627525
0.778 Checksum for core: 2035938594
0.551 Loading mod base 0.17.79 (data-updates.lua)
0.126 Loading mod base 0.17.79 (data.lua)
0.019 Loading mod core 0.0.0 (data.lua)
0.014 Running in headless mode
0.014 Environment: DISPLAY=<unset> WAYLAND_DISPLAY=<unset> DESKTOP_SESSION=<unset> XDG_SESSION_DESKTOP=<unset> XDG_CURRENT_DESKTOP=<unset> __GL_FSAA_MODE=<unset> __GL_LOG_MAX_ANISO=<unset> __GL_SYNC_TO_VBLANK=<unset> __GL_SORT_FBCONFIGS=<unset> __GL_YIELD=<unset>
0.014 System info:
0.000 Binaries path: /opt/factorio/bin
0.000 Write data path: /opt/factorio
0.000 Read data path: /opt/factorio/data
0.000 Program arguments: "/opt/factorio/bin/x64/factorio" "--bind" "0.0.0.0" "--port" "34197" "--server-settings" "/opt/factorio/config/server-settings.json" "--rcon-port" "43081" "--rcon-password" <private> "--server-adminlist" "/opt/factorio/config/server-adminlist.json" "--start-server" "/opt/factorio/saves/20200414.zip"
0.000 Operating system: Linux
0.000 2020-04-27 01:33:24; Factorio 0.17.79 (build 47865, linux64, headless)
感觉是token下载失败还是啥的,官网拿token的时候,我这边不挂梯子网页端根本拿不到。 本帖最后由 bickar 于 2020-4-28 00:38 编辑
一;网络如果勾选与docker host相同网络,80 443 并没冲突。我是DOCKER小白,不明白其中道理但能用。
二;Require user verification,改不了TRUE ,我这也是这,多点几次UPDATA SETTINGS 。
可能浏览器有兼容问题,其他选项没这个问题。是否成功,看server-settings.json内容。
实在不行手改server-settings.json
三;
10.059 Goodbye
9.993 Error Main.cpp:840: require_user_verification must be enabled for public games. 这个跟问题二有关。只要解决问题二,这个也就解决了
四,只要裸连能打开FACTORIO.COM 官方网站,就能取到TOKEN
+++++++++++++++++++++++++++++++++++++++++++++++++
还有个小问题
我是J1900
进入游戏后,FPS60/UPS60
但总感觉画面不流畅,还没查出是CPU还是DOCKER问题。
本帖最后由 k6686389 于 2020-4-29 13:51 编辑
bickar 发表于 2020-4-28 00:33
一;网络如果勾选与docker host相同网络,80 443 并没冲突。我是DOCKER小白,不明白其中道理但能用。
二; ...
目前局域网内输入服务器内网IP+端口号已经可以连入游戏了,互联网大厅内也能显示出服务器了
Require user verification必须为true,不然死活启动不了服务,不过前面即使改为true也是连不上,就当灵异事件吧~~
现在互联网大厅内已经能看到我的服务器,但是连不上,看了下游戏版本和服务器版本都对应,不知道是哪里的原因,家里是有公网IP的,端口也在路由器上做过映射了。
附日志:
14.617 Info ServerMultiplayerManager.cpp:705: Matching server connection resumed
14.610 Info MatchingServer.cpp:114: Matching server game `7317651` has been created.
5.250 Info ServerRouter.cpp:497: Own address is IP ADDR:({220.165.136.230:34197}) (confirmed by pingpong1)
5.233 Info ServerRouter.cpp:497: Own address is IP ADDR:({220.165.136.230:34197}) (confirmed by pingpong3)
5.215 Info ServerRouter.cpp:497: Own address is IP ADDR:({220.165.136.230:34197}) (confirmed by pingpong2)
4.979 Info Main.cpp:938: Maximum segment size = 100; minimum segment size = 25; maximum-segment-size peer count = 10; minimum-segment-size peer count = 20
4.979 Info RemoteCommandProcessor.cpp:131: Starting RCON interface at IP ADDR:({0.0.0.0:43081})
4.978 Info UDPSocket.cpp:39: Opening socket for broadcast
4.977 Info ServerRouter.cpp:618: Asking pingpong servers (pingpong1.factorio.com:34197, pingpong2.factorio.com:34197, pingpong3.factorio.com:34197, pingpong4.factorio.com:34197) for own address
4.087 Info ServerMultiplayerManager.cpp:776: updateTick(2082225) changing state from(CreatingGame) to(InGame)
4.087 Info AuthServerConnector.cpp:109: Obtained serverPadlock for serverHash (u7DD5NWDAHLLIra00u7Ff1mOXycP8tCq) from the auth server.
3.808 Info HttpSharedState.cpp:54: Downloading https://auth.factorio.com/generate-server-padlock-2
3.808 Hosting game at IP ADDR:({0.0.0.0:34197})
3.807 Info UDPSocket.cpp:27: Opening socket at (IP ADDR:({0.0.0.0:34197}))
3.803 Checksum for script /opt/factorio/temp/currently-playing/control.lua: 3265260072
3.709 Loading script.dat: 328 bytes.
3.055 Info Scenario.cpp:187: Map version 0.17.79-0
3.046 Loading level.dat: 12762511 bytes.
2.820 Loading map /opt/factorio/saves/20200414.zip: 5180192 bytes.
2.800 Info ServerMultiplayerManager.cpp:776: updateTick(4294967295) changing state from(PreparedToHostGame) to(CreatingGame)
2.800 Info ServerMultiplayerManager.cpp:776: updateTick(4294967295) changing state from(Ready) to(PreparedToHostGame)
2.800 Info ServerSynchronizer.cpp:30: nextHeartbeatSequenceNumber(0) initialized Synchronizer nextTickClosureTick(0).
2.798 Info AuthServerConnector.cpp:171: Got token from auth server for username(************).
1.316 Info HttpSharedState.cpp:54: Downloading https://auth.factorio.com/api-login?api_version=2
1.316 Error PlayerAccessList.cpp:187: Failed to load access list: Value must be a list or dictionary in property tree at ROOT
1.315 Factorio initialised
1.310 Info PlayerData.cpp:75: Cloud player-data.json unavailable
1.310 Info PlayerData.cpp:68: Local player-data.json available, timestamp 1588037858
1.229 Prototype list checksum: 2767119397
0.827 Checksum of base: 4156627525
0.827 Checksum for core: 2035938594
0.583 Loading mod base 0.17.79 (data-updates.lua)
0.135 Loading mod base 0.17.79 (data.lua)
0.019 Loading mod core 0.0.0 (data.lua)
0.014 Running in headless mode
0.014 Environment: DISPLAY=<unset> WAYLAND_DISPLAY=<unset> DESKTOP_SESSION=<unset> XDG_SESSION_DESKTOP=<unset> XDG_CURRENT_DESKTOP=<unset> __GL_FSAA_MODE=<unset> __GL_LOG_MAX_ANISO=<unset> __GL_SYNC_TO_VBLANK=<unset> __GL_SORT_FBCONFIGS=<unset> __GL_YIELD=<unset>
0.014 System info:
0.000 Binaries path: /opt/factorio/bin
0.000 Write data path: /opt/factorio
0.000 Read data path: /opt/factorio/data
0.000 Program arguments: "/opt/factorio/bin/x64/factorio" "--bind" "0.0.0.0" "--port" "34197" "--server-settings" "/opt/factorio/config/server-settings.json" "--rcon-port" "43081" "--rcon-password" <private> "--server-adminlist" "/opt/factorio/config/server-adminlist.json" "--start-server" "/opt/factorio/saves/20200414.zip"
0.000 Operating system: Linux
0.000 2020-04-28 01:38:10; Factorio 0.17.79 (build 47865, linux64, headless)
本帖最后由 bickar 于 2020-4-30 00:44 编辑
工厂34197 UDP协议,路由里别映射成TCP了
我更苦逼,还不如你
裸连,经常报错,想刷出游戏列表需要很大耐心,
半夜成功率较高。
用UU加速器,搜游戏很快,进游戏网络延迟卡成一逼
感觉非要到国外转一圈,再回来
后来
我跟机油玩,都是微信告诉他们公网ip,然后服务器直连
+++++++++++++++++++++++++++++++++++++++++
最佳方案恐怕就得域名+云空间。
bickar 发表于 2020-4-30 00:38
工厂34197 UDP协议,路由里别映射成TCP了
我更苦逼,还不如你
裸连,经常报错,想刷出游戏列表需要很大耐心 ...
我路由映射是UDP没差,但是域名、直接游戏大厅连接,IP连接都连不上,我都给整懵逼了 bickar 发表于 2020-4-30 00:38
工厂34197 UDP协议,路由里别映射成TCP了
我更苦逼,还不如你
裸连,经常报错,想刷出游戏列表需要很大耐心 ...
已经搞定了~~
已经能顺利从互联网大厅进入游戏了。
容器网络那里,配置为使用与Docker Host相同的网络
然后在路由器中把34190~34200的端口都映射,就可以连上了,速度还不错~
牛皮啊!!!
页:
[1]