[0.17.79] Crash of headless server
Posted: Wed Jan 01, 2020 1:55 pm
Update
stopped running the server as root, perhaps this will solve the stability issueMain
Hi!I've recently decided (yesterday ) to move a multiplayer listenserver savefile to a dedicated server.
It's a generally new map (70 or so hours) with a negligible filesize.
We're 3 players and have not had any issues while we've been playing while hosting from ingame from my own pc.
I created a google cloud VM, Ubuntu 18.04 and downloaded the latest stable (https://factorio.com/get-download/stabl ... ss/linux64) and opened ports etc.
I read about non-blocking saving and decided to try it from the get go. The server crashed within hours and i figured "highly experimental" so meh it was expected.
I disabled the feature and booted it back up, and it was left running since 16:25 yesterday and today i got a text that the server again was down.
I googled "headless crash", "factorio headless crash" "factorio server crash" etc but it doesn't seem to common that the servers go down.
My experience from the game-client is that the game almost never crashes and i also se servers with thousands of hours logged and i am thus wondering what to do.
Are linux headless generally stable? Any ideas as to what is causing this?
These are the last savegames - Notice the timestamp discrepancy
It would seem the last autosave was 01:59 yet the "main" file is saved 03:10 ?
Code: Select all
total 112148
-rw-rw-r-- 1 allexz allexz 19096623 Jan 1 03:10 10RPM.zip
-rw-r--r-- 1 root root 19158765 Jan 1 01:19 _autosave1.zip
-rw-r--r-- 1 root root 19100303 Jan 1 01:29 _autosave2.zip
-rw-r--r-- 1 root root 19199216 Jan 1 01:39 _autosave3.zip
-rw-r--r-- 1 root root 19151433 Jan 1 01:49 _autosave4.zip
-rw-r--r-- 1 root root 19117196 Jan 1 01:59 _autosave5.zip
Code: Select all
0.000 2019-12-31 16:25:33; Factorio 0.17.79 (build 47865, linux64, headless)
0.045 Operating system: Linux (Ubuntu 18.04)
0.045 Program arguments: "./factorio" "--start-server" "/opt/factorio/saves/10RPM.zip" "--server-settings" "server-settings.json"
0.045 Read data path: /opt/factorio/data
0.045 Write data path: /opt/factorio [8272/9749MB]
0.045 Binaries path: /opt/factorio/bin
0.053 System info: [CPU: Intel(R) Xeon(R) CPU @ 2.00GHz, 1 core, RAM: 3690 MB]
0.053 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>$
0.053 Running in headless mode
0.056 Loading mod core 0.0.0 (data.lua)
0.117 Loading mod base 0.17.79 (data.lua)
0.358 Loading mod base 0.17.79 (data-updates.lua)
0.490 Checksum for core: 2035938594
0.490 Checksum of base: 4156627525
0.685 Prototype list checksum: 2767119397
0.730 Info PlayerData.cpp:68: Local player-data.json available, timestamp 1577809484
0.730 Info PlayerData.cpp:75: Cloud player-data.json unavailable
0.779 Factorio initialised
0.831 Info HttpSharedState.cpp:54: Downloading https://auth.factorio.com/api-login?api_version=2
1.464 Info AuthServerConnector.cpp:171: Got token from auth server for username([redacted]).
1.466 Info ServerSynchronizer.cpp:30: nextHeartbeatSequenceNumber(0) initialized Synchronizer nextTickClosureTick(0).
1.466 Info ServerMultiplayerManager.cpp:776: updateTick(4294967295) changing state from(Ready) to(PreparedToHostGame)
1.466 Info ServerMultiplayerManager.cpp:776: updateTick(4294967295) changing state from(PreparedToHostGame) to(CreatingGame)
1.470 Loading map /opt/factorio/saves/10RPM.zip: 18660060 bytes.
1.497 Loading level.dat: 54532842 bytes.
1.523 Info Scenario.cpp:187: Map version 0.17.79-0
4.953 Loading script.dat: 339 bytes.
4.961 Checksum for script /opt/factorio/temp/currently-playing/control.lua: 3265260072
5.003 Info UDPSocket.cpp:27: Opening socket at (IP ADDR:({0.0.0.0:34197}))
5.004 Hosting game at IP ADDR:({0.0.0.0:34197})
5.058 Info HttpSharedState.cpp:54: Downloading https://auth.factorio.com/generate-server-padlock-2
5.181 Info AuthServerConnector.cpp:109: Obtained serverPadlock for serverHash ([redacted]) from the auth server.
5.181 Info ServerMultiplayerManager.cpp:776: updateTick(17980440) changing state from(CreatingGame) to(InGame)
5.240 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
5.240 Info UDPSocket.cpp:39: Opening socket for broadcast
5.246 Info Main.cpp:938: Maximum segment size = 100; minimum segment size = 25; maximum-segment-size peer count = 10; minimum-segment-size peer count = 20
5.365 Info ServerRouter.cpp:497: Own address is IP ADDR:({[redacted]:34197}) (confirmed by pingpong1)
5.383 Info ServerRouter.cpp:497: Own address is IP ADDR:({[redacted]:34197}) (confirmed by pingpong3)
5.501 Info ServerRouter.cpp:497: Own address is IP ADDR:({[redacted]:34197}) (confirmed by pingpong4)
6.042 Info MatchingServer.cpp:114: Matching server game `6554854` has been created.
6.057 Info ServerMultiplayerManager.cpp:705: Matching server connection resumed
20.000 ConnectionRequestReplyConfirm (type(ConnectionRequestReplyConfirm) ) from(IP ADDR:({[redacted]:64856}))
20.000 Refusing connection for address (IP ADDR:({[redacted]:64856})), username (Allexz). UserVerificationMissing
20.573 ConnectionRequestReplyConfirm (type(ConnectionRequestReplyConfirm) ) from(IP ADDR:({[redacted]:64883}))
20.573 Refusing connection for address (IP ADDR:({[redacted]:64883})), username (Allexz). PasswordMissing
27.697 ConnectionRequestReplyConfirm (type(ConnectionRequestReplyConfirm) ) from(IP ADDR:({[redacted]:64885}))
27.697 Info ServerRouter.cpp:425: Replying to connectionRequest for address(IP ADDR:({[redacted]:64885})).
27.697 Info ServerSynchronizer.cpp:599: nextHeartbeatSequenceNumber(666) adding peer(1)
27.698 Info ServerMultiplayerManager.cpp:776: updateTick(17980440) changing state from(InGame) to(InGameSavingMap)
27.748 Info ServerMultiplayerManager.cpp:925: updateTick(17980440) received stateChanged peerID(1) oldState(Ready) newState(ConnectedWaitingForMap)
29.861 Info ServerMultiplayerManager.cpp:993: UpdateTick(17980440) Serving map(/opt/factorio/temp/mp-save-0.zip) for peer(1) size(18660444) crc(1315725950)
29.862 Info ServerMultiplayerManager.cpp:776: updateTick(17980440) changing state from(InGameSavingMap) to(InGame)
29.946 Info ServerMultiplayerManager.cpp:925: updateTick(17980440) received stateChanged peerID(1) oldState(ConnectedWaitingForMap) newState(ConnectedDownloadingMap)
32.940 Info ServerMultiplayerManager.cpp:925: updateTick(17980440) received stateChanged peerID(1) oldState(ConnectedDownloadingMap) newState(ConnectedLoadingMap)
34.429 Info ServerMultiplayerManager.cpp:925: updateTick(17980528) received stateChanged peerID(1) oldState(ConnectedLoadingMap) newState(TryingToCatchUp)
34.880 Info ServerMultiplayerManager.cpp:925: updateTick(17980555) received stateChanged peerID(1) oldState(TryingToCatchUp) newState(WaitingForCommandToStartSendingTickClosures)
34.880 Info GameActionHandler.cpp:4168: UpdateTick (17980555) processed PlayerJoinGame peerID(1) playerIndex(0) mode(connect)
34.972 Info ServerMultiplayerManager.cpp:925: updateTick(17980561) received stateChanged peerID(1) oldState(WaitingForCommandToStartSendingTickClosures) newState(InGame)
110.313 Info ServerMultiplayerManager.cpp:1039: Disconnect notification for peer (1)
110.314 Info ServerMultiplayerManager.cpp:925: updateTick(17985082) received stateChanged peerID(1) oldState(InGame) newState(DisconnectScheduled)
110.353 Info ServerSynchronizer.cpp:618: nextHeartbeatSequenceNumber(2991) removing peer(1).
Server-settings.json
Code: Select all
"name": "Maja Lisa Grönbergs väg 21",
"description": "Automatisering på lannet",
"tags": ["game", "tags"],
"_comment_max_players": "Maximum number of players allowed, admins can join even a full server. 0 means unlimited.",
"max_players": 1337,
"_comment_visibility": ["public: Game will be published on the official Factorio matching server",
"lan: Game will be broadcast on LAN"],
"visibility":
{
"public": true,
"lan": true
},
"_comment_credentials": "Your factorio.com login credentials. Required for games with visibility public",
"username": "[redacted]",
"password": "[redacted]",
"_comment_token": "Authentication token. May be used instead of 'password' above.",
"token": "",
"game_password": "[redacted]",
"_comment_require_user_verification": "When set to true, the server will only allow clients that have a valid Factorio.com account",
"require_user_verification": true,
"_comment_max_upload_in_kilobytes_per_second" : "optional, default value is 0. 0 means unlimited.",
"max_upload_in_kilobytes_per_second": 0,
"_comment_max_upload_slots" : "optional, default value is 5. 0 means unlimited.",
"max_upload_slots": 5,
"_comment_minimum_latency_in_ticks": "optional one tick is 16ms in default speed, default value is 0. 0 means no minimum.",
"minimum_latency_in_ticks": 0,
"_comment_ignore_player_limit_for_returning_players": "Players that played on this map already can join even when the max player limit was reached.",
"ignore_player_limit_for_returning_players": false,
"_comment_allow_commands": "possible values are, true, false and admins-only",
"allow_commands": "admins-only",
"_comment_autosave_interval": "Autosave interval in minutes",
"autosave_interval": 10,
"_comment_autosave_slots": "server autosave slots, it is cycled through when the server autosaves.",
"autosave_slots": 5,
"_comment_afk_autokick_interval": "How many minutes until someone is kicked when doing nothing, 0 for never.",
"afk_autokick_interval": 0,
"_comment_auto_pause": "Whether should the server be paused when no players are present.",
"auto_pause": true,
"only_admins_can_pause_the_game": true,
"_comment_autosave_only_on_server": "Whether autosaves should be saved only on server or also on all connected clients. Default is true.",
"autosave_only_on_server": true,
"_comment_non_blocking_saving": "Highly experimental feature, enable only at your own risk of losing your saves. On UNIX systems, server will fork itself to create an autosave. Autosaving on connected Windows clients $