[0.15.2] Linux headless requiring full filename

This subforum contains all the issues which we already resolved.
User avatar
UncleDrax
Manual Inserter
Manual Inserter
Posts: 2
Joined: Tue Apr 25, 2017 9:07 pm
Contact:

[0.15.2] Linux headless requiring full filename

Post by UncleDrax »

Attempting to start the Linux headless server (Debian Jesse 8.7) appears to require explicitly appending of the ".zip" extension. Otherwise results in error and hangs.

Work around is trivial, and to just always include the full filename.

Additional info from IRC:

Code: Select all

@HanziQ> UncleDrax minizip returns UNZ_OK but fails to open file
@HanziQ> UncleDrax cannot reproduce, both work for me
@HanziQ> if you happen to reproduce it, I would like to see a bugreport
Failure Case:

Code: Select all

auntieentity:~$  ./factorio/bin/x64/factorio --start-server FactoryByNightOps
   0.000 2017-04-26 10:25:02; Factorio 0.15.2 (build 29124, linux64, headless)
   0.000 Operating system: Linux
   0.000 Program arguments: "./factorio/bin/x64/factorio" "--start-server" "FactoryByNightOps" 
   0.000 Read data path: /home/user/factorio/data
   0.000 Write data path: /home/user/factorio
   0.000 Binaries path: /home/user/factorio/bin
   0.011 System info: [CPU: Intel(R) Xeon(R) CPU           L5520  @ 2.27GHz, 2 cores, RAM: 3965MB]
   0.011 Running in headless mode
   0.018 Loading mod core 0.0.0 (data.lua)
   0.025 Loading mod base 0.15.2 (data.lua)
   0.163 Loading mod base 0.15.2 (data-updates.lua)
   0.281 Checksum for core: 530912544
   0.281 Checksum of base: 83206502
   0.454 Info PlayerData.cpp:55: Local player-data.json available, timestamp 1493216625
   0.455 Info PlayerData.cpp:62: Cloud player-data.json unavailable
   0.456 Custom inputs active: 0
   0.457 Info Updater.cpp:743: Downloading https://updater.factorio.com/get-available-versions?username=xxxxxxxxxxxx&token=<private>&apiVersion=2
   0.958 0 packages available to download (experimental updates disabled).
   0.961 Factorio initialised
   0.961 Info ServerSynchronizer.cpp:27: nextHeartbeatSequenceNumber(0) initialized Synchronizer nextTickClosureTick(0).
   0.962 Info ServerMultiplayerManager.cpp:663: mapTick(-1) changing state from(Ready) to(PreparedToHostGame)
   0.962 Info ServerMultiplayerManager.cpp:663: mapTick(-1) changing state from(PreparedToHostGame) to(CreatingGame)
   0.962 Loading map /home/username/FactoryByNightOps
   0.962 Error ServerMultiplayerManager.cpp:93: MultiplayerManager failed: "Opening zip /home/username/FactoryByNightOps failed: Ok"
   0.962 Info ServerMultiplayerManager.cpp:663: mapTick(-1) changing state from(CreatingGame) to(InitializationFailed)

^C 128.932 Received SIGINT, shutting down
^C
auntieentity:~$
Additionally tested with all lowercase filename to just isolate camel-case as a contributor. Same result


Works fine with full filename:

Code: Select all


auntieentity:~$ ./factorio/bin/x64/factorio --start-server FactoryByNightOps.zip
   0.000 2017-04-26 10:23:41; Factorio 0.15.2 (build 29124, linux64, headless)
   0.000 Operating system: Linux
   0.000 Program arguments: "./factorio/bin/x64/factorio" "--start-server" "FactoryByNightOps.zip" 
   0.000 Read data path: /home/username/factorio/data
   0.000 Write data path: /home/username/factorio
   0.000 Binaries path: /home/username/factorio/bin
   0.011 System info: [CPU: Intel(R) Xeon(R) CPU           L5520  @ 2.27GHz, 2 cores, RAM: 3965MB]
...
 0.849 Loading map /home/username/FactoryByNightOps.zip: 3282980 bytes.
   0.850 Error FileUtil.cpp:291: Can't remove /home/username/factorio/temp/currently-playing: No such file or directory
   0.863 Loading Level.dat: 6537292 bytes.
   0.868 Info Scenario.cpp:133: Map version 0.15.2-0
   1.138 Loading script.dat: 190 bytes.
   1.140 Checksum for script /home/username/factorio/temp/currently-playing/control.lua: 2433440189
   1.143 Info UDPSocket.cpp:27: Opening socket at (0.0.0.0:34197)
   1.143 Hosting game at 0.0.0.0:34197
...
Supplemental Environment Information

Code: Select all

auntieentity ~]$uname -a
Linux auntieentity 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19) x86_64 GNU/Linux
auntieentity ~]$cat /etc/debian_version 
8.7
User avatar
HanziQ
Former Staff
Former Staff
Posts: 630
Joined: Fri Mar 27, 2015 7:07 am
Contact:

Re: [0.15.2] Linux headless requiring full filename

Post by HanziQ »

I think the full filename behaviour is correct, it will now give proper "file doesn't exist" error message.
User avatar
UncleDrax
Manual Inserter
Manual Inserter
Posts: 2
Joined: Tue Apr 25, 2017 9:07 pm
Contact:

Re: [0.15.2] Linux headless requiring full filename

Post by UncleDrax »

Confirmed behavior fixed in 0.15.7

Code: Select all

@auntieentity:~$ ./factorio/bin/x64/factorio --start-server FactoryByNightOps --server-settings factorio-server-settings.json 
   0.000 2017-05-05 09:28:54; Factorio 0.15.7 (build 29468, linux64, headless)
   0.000 Operating system: Linux
   0.000 Program arguments: "./factorio/bin/x64/factorio" "--start-server" "FactoryByNightOps" "--server-settings" "factorio-server-settings.json" 
  ...
   1.118 Warning FileUtil.cpp:417: FactoryByNightOps not found; using FactoryByNightOps.zip
   1.118 Info ServerSynchronizer.cpp:27: nextHeartbeatSequenceNumber(0) initialized Synchronizer nextTickClosureTick(0).
   1.118 Info ServerMultiplayerManager.cpp:663: mapTick(-1) changing state from(Ready) to(PreparedToHostGame)
   1.118 Info ServerMultiplayerManager.cpp:663: mapTick(-1) changing state from(PreparedToHostGame) to(CreatingGame)
   1.118 Loading map /home/username/FactoryByNightOps.zip: 6945882 bytes.
   1.120 Error FileUtil.cpp:291: Can't remove /home/uername/factorio/temp/currently-playing: No such file or directory
   1.136 Loading Level.dat: 16311596 bytes.
   1.143 Info Scenario.cpp:133: Map version 0.15.7-2
   1.760 Loading script.dat: 190 bytes.
...
Post Reply

Return to “Resolved Problems and Bugs”