OpenFactorioServerManager / factorio-server-manager

A tool to help manage Factorio multiplayer servers including mods and save games.
MIT License
561 stars 135 forks source link

Mod Downloader (Develop Branch) #201

Closed goomatag closed 3 years ago

goomatag commented 3 years ago

Just to let you know, if running Beta versions of Factorio (1.1.x) the Mod downloader sees everything as incompatible, guess maybe it's looking for 1.1.0 instead of 1.1.6? the Mod list shows everything as compatible though and you can upload mods manually, just means updating mods through the UI is currently broken

Got to say though, I love the new UI

knoxfighter commented 3 years ago

Also no tests are there for any potential changes in the formats, used by factorio (saves, version-output, etc.)

jannaahs commented 3 years ago

@samgray96 can you tell us which mods you tried to install?

I have tested a few things, but I could not reproduce your problem.

knoxfighter commented 3 years ago

I can reproduce this issue, currently at it to fix it. That is no bug in the frontend, but in the backend. The Compatibility is wrongly parsed in the backend :(

knoxfighter commented 3 years ago

oh, just noticed, that on my side, everything was compatible ... whatever, i changed the code on the backend, hopefully that fixes it^^

goomatag commented 3 years ago

@jannaahs this particular time it was Miniloader 🙂

@knoxfighter @jannaahs Thanks for jumping on this so quickly!

jannaahs commented 3 years ago

I did the code review and merged the changes. The compatibility in the mod list was fixed.

I fixed the compatibility check for the mod installation.

knoxfighter commented 3 years ago

The mod installation fix is now also merged. @samgray96 Can you test it again please and tell us if your problem is fixed now.

goomatag commented 3 years ago

@knoxfighter is the docker image updated or just the source?

knoxfighter commented 3 years ago

The docker image updates itself with github actions, so it is already updated :) ofsm/ofsm:develop

goomatag commented 3 years ago

Awesome, I'll give it a bash now and let you know 🙂

goomatag commented 3 years ago

Interestingly, Bottleneck is reported as compatible in the "Install" pop-up, but incompatible in the Mods list, despite being the same version (and being listed as compatible before), screenshots below 🙂

Screenshot 2020-12-27 at 14 05 21 Screenshot 2020-12-27 at 14 05 35
knoxfighter commented 3 years ago

The log would also be gread (make sure to remove personal information).

goomatag commented 3 years ago

Which log do you need? I don't see any reference to the mod download in the Log you see in the UI

knoxfighter commented 3 years ago

ok, when there is no reference, nothing went wrong and that is a bug, i will look into it,

goomatag commented 3 years ago

Here is the contents of the log in the UI, Only stuff I can see is in reference to me starting the server 🙂

0.000 2020-12-27 14:07:25; Factorio 1.1.6 (build 57355, linux64, headless) 0.000 Operating system: Linux 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" "41141" "--rcon-password" <private> "--server-adminlist" "/opt/factorio/config/server-adminlist.json" "--start-server-load-latest" 0.000 Read data path: /opt/factorio/data 0.000 Write data path: /opt/factorio [36019/49384MB] 0.000 Binaries path: /opt/factorio/bin 0.013 System info: [CPU: Intel(R) Xeon(R) CPU E5-2450 0 @ 2.10GHz, 2 cores, RAM: 7909 MB] 0.013 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.013 Running in headless mode 0.052 Loading mod settings miniloader 1.13.0 (settings.lua) 0.053 Loading mod settings Bottleneck 0.11.7 (settings.lua) 0.053 Script @__Bottleneck__/settings.lua:191: working - green none 0.053 Script @__Bottleneck__/settings.lua:191: normal - off none 0.053 Script @__Bottleneck__/settings.lua:191: no_power - red alert 0.053 Script @__Bottleneck__/settings.lua:191: low_power - red alert 0.053 Script @__Bottleneck__/settings.lua:191: no_fuel - red alert 0.053 Script @__Bottleneck__/settings.lua:191: disabled_by_control_behavior - blue pause 0.053 Script @__Bottleneck__/settings.lua:191: disabled_by_script - blue pause 0.053 Script @__Bottleneck__/settings.lua:191: marked_for_deconstruction - red cross 0.053 Script @__Bottleneck__/settings.lua:191: networks_connected - green none 0.054 Script @__Bottleneck__/settings.lua:191: networks_disconnected - red none 0.054 Script @__Bottleneck__/settings.lua:191: charging - green none 0.054 Script @__Bottleneck__/settings.lua:191: discharging - green none 0.054 Script @__Bottleneck__/settings.lua:191: fully_charged - yellow pause 0.054 Script @__Bottleneck__/settings.lua:191: out_of_logistic_network - off none 0.054 Script @__Bottleneck__/settings.lua:191: no_recipe - off none 0.054 Script @__Bottleneck__/settings.lua:191: no_ingredients - red alert 0.054 Script @__Bottleneck__/settings.lua:191: no_input_fluid - red alert 0.054 Script @__Bottleneck__/settings.lua:191: no_research_in_progress - off none 0.054 Script @__Bottleneck__/settings.lua:191: no_minable_resources - red stop 0.054 Script @__Bottleneck__/settings.lua:191: low_input_fluid - red alert 0.054 Script @__Bottleneck__/settings.lua:191: fluid_ingredient_shortage - red alert 0.054 Script @__Bottleneck__/settings.lua:191: full_output - yellow pause 0.054 Script @__Bottleneck__/settings.lua:191: item_ingredient_shortage - red alert 0.054 Script @__Bottleneck__/settings.lua:191: missing_required_fluid - red alert 0.054 Script @__Bottleneck__/settings.lua:191: missing_science_packs - red alert 0.054 Script @__Bottleneck__/settings.lua:191: waiting_for_source_items - red alert 0.054 Script @__Bottleneck__/settings.lua:191: waiting_for_space_in_destination - yellow pause 0.054 Script @__Bottleneck__/settings.lua:191: preparing_rocket_for_launch - green alert 0.054 Script @__Bottleneck__/settings.lua:191: waiting_to_launch_rocket - yellow pause 0.054 Script @__Bottleneck__/settings.lua:191: launching_rocket - green alert 0.054 Script @__Bottleneck__/settings.lua:191: no_modules_to_transmit - red alert 0.054 Script @__Bottleneck__/settings.lua:191: recharging_after_power_outage - blue alert 0.054 Script @__Bottleneck__/settings.lua:191: no_ammo - red alert 0.054 Script @__Bottleneck__/settings.lua:191: low_temperature - red stop 0.054 Script @__Bottleneck__/settings.lua:191: disabled - off none 0.054 Script @__Bottleneck__/settings.lua:191: turned_off_during_daytime - off none 0.054 Script @__Bottleneck__/settings.lua:191: not_connected_to_rail - off none 0.054 Script @__Bottleneck__/settings.lua:191: cant_divide_segments - off none 0.055 Loading mod settings deadlock-beltboxes-loaders 2.4.0 (settings.lua) 0.057 Loading mod settings even-distribution 1.0.3 (settings.lua) 0.058 Loading mod settings Squeak Through 1.8.1 (settings.lua) 0.059 Loading mod settings Todo-List 19.0.6 (settings.lua) 0.060 Loading mod settings IndustrialRevolution 2.0.1 (settings.lua) 0.065 Loading mod core 0.0.0 (data.lua) 0.162 Loading mod base 1.1.6 (data.lua) 0.693 Loading mod miniloader 1.13.0 (data.lua) 0.930 Loading mod Bottleneck 0.11.7 (data.lua) 1.147 Loading mod deadlock-beltboxes-loaders 2.4.0 (data.lua) 1.367 Loading mod DeadlockLargerLamp 1.5.0 (data.lua) 1.575 Loading mod even-distribution 1.0.3 (data.lua) 1.778 Loading mod FNEI 0.4.0 (data.lua) 1.986 Loading mod Todo-List 19.0.6 (data.lua) 2.200 Loading mod IndustrialRevolution 2.0.1 (data.lua) 2.538 Loading mod IndustrialRevolutionStacking 1.0.0 (data.lua) 2.835 Loading mod base 1.1.6 (data-updates.lua) 3.061 Loading mod miniloader 1.13.0 (data-updates.lua) 3.280 Loading mod deadlock-beltboxes-loaders 2.4.0 (data-updates.lua) 3.530 Loading mod Squeak Through 1.8.1 (data-updates.lua) 3.753 Loading mod IndustrialRevolution 2.0.1 (data-updates.lua) 4.145 Loading mod deadlock-beltboxes-loaders 2.4.0 (data-final-fixes.lua) 4.372 Loading mod DeadlockLargerLamp 1.5.0 (data-final-fixes.lua) 4.597 Loading mod IndustrialRevolution 2.0.1 (data-final-fixes.lua) 12.767 Loading mod IndustrialRevolutionStacking 1.0.0 (data-final-fixes.lua) 13.258 Checksum for core: 707333919 13.258 Checksum of base: 2570609689 13.258 Checksum of miniloader: 4161913259 13.258 Checksum of Bottleneck: 2544829823 13.258 Checksum of deadlock-beltboxes-loaders: 440988570 13.258 Checksum of DeadlockLargerLamp: 4210112940 13.258 Checksum of even-distribution: 437213863 13.259 Checksum of FNEI: 3619919004 13.259 Checksum of Squeak Through: 1890403328 13.259 Checksum of Todo-List: 3021069362 13.259 Checksum of IndustrialRevolution: 3565689590 13.259 Checksum of IndustrialRevolutionStacking: 2703272848 13.725 Prototype list checksum: 1185550283 13.809 Info PlayerData.cpp:72: Local player-data.json unavailable 13.809 Info PlayerData.cpp:77: Cloud player-data.json unavailable 13.811 Factorio initialised 13.813 Info ServerSynchronizer.cpp:29: nextHeartbeatSequenceNumber(0) initialized Synchronizer nextTickClosureTick(0). 13.813 Info ServerMultiplayerManager.cpp:780: updateTick(4294967295) changing state from(Ready) to(PreparedToHostGame) 13.813 Info ServerMultiplayerManager.cpp:780: updateTick(4294967295) changing state from(PreparedToHostGame) to(CreatingGame) 13.815 Loading map /opt/factorio/saves/IndustrialRevolution.zip: 7474676 bytes. 13.844 Loading level.dat: 26814592 bytes. 13.856 Info Scenario.cpp:196: Map version 1.1.6-4 15.610 Loading script.dat: 135298 bytes. 15.617 Checksum for script /opt/factorio/temp/currently-playing/control.lua: 2929504738 15.626 Checksum for script __miniloader__/control.lua: 2937844580 15.629 Checksum for script __Bottleneck__/control.lua: 3248915822 15.632 Checksum for script __deadlock-beltboxes-loaders__/control.lua: 2295249634 15.634 Checksum for script __DeadlockLargerLamp__/control.lua: 217305035 15.637 Script @__even-distribution__/framework.lua:72: 0 [ED] Initializing framework... DEBUG = false 15.637 Script @__even-distribution__/framework.lua:72: 0 [ED] Registering custom scripts... 15.638 Script @__even-distribution__/framework.lua:72: 0 [ED] Script: metatables 15.639 Script @__even-distribution__/framework.lua:72: 0 [ED] Script: util 15.640 Script @__even-distribution__/framework.lua:72: 0 [ED] Script: helpers 15.642 Script @__even-distribution__/framework.lua:72: 0 [ED] Script: setup 15.644 Script @__even-distribution__/framework.lua:72: 0 [ED] Script: visuals 15.645 Script @__even-distribution__/framework.lua:72: 0 [ED] Script: gui-tools 15.647 Script @__even-distribution__/framework.lua:72: 0 [ED] Script: drag 15.649 Script @__even-distribution__/framework.lua:72: 0 [ED] Script: cleanup 15.650 Script @__even-distribution__/framework.lua:72: 0 [ED] GUI-Script: settings-gui 15.653 Script @__even-distribution__/framework.lua:72: 0 [ED] Registering default event handlers... 15.655 Script @__even-distribution__/framework.lua:72: 0 [ED] Registering custom inputs... 15.655 Script @__even-distribution__/framework.lua:72: 0 [ED] Input: inventory-cleanup event: on_inventory_cleanup 15.656 Script @__even-distribution__/framework.lua:72: 0 [ED] Input: fast-entity-transfer-hook event: on_fast_entity_transfer_hook 15.656 Script @__even-distribution__/framework.lua:72: 0 [ED] Input: fast-entity-split-hook event: on_fast_entity_split_hook 15.659 Script @__even-distribution__/framework.lua:72: 0 [ED] Successfully initialized 15.660 Checksum for script __even-distribution__/control.lua: 3406966040 15.680 Checksum for script __FNEI__/control.lua: 3692342150 15.691 Checksum for script __Todo-List__/control.lua: 3001949505 15.722 Checksum for script __IndustrialRevolution__/control.lua: 3973981441 15.789 Info UDPSocket.cpp:27: Opening socket at (IP ADDR:({0.0.0.0:34197})) 15.790 Hosting game at IP ADDR:({0.0.0.0:34197}) 15.790 Info HttpSharedState.cpp:54: Downloading https://auth.factorio.com/generate-server-padlock-2?api_version=4 16.278 Info AuthServerConnector.cpp:68: Obtained serverPadlock for serverHash (gITFwbhz08047asM8yvbobOzwBydVUQB) from the auth server. 16.279 Info ServerMultiplayerManager.cpp:780: updateTick(4082776) changing state from(CreatingGame) to(InGame) 16.362 Info ServerRouter.cpp:636: Asking pingpong servers (pingpong1.factorio.com:34197, pingpong2.factorio.com:34197, pingpong3.factorio.com:34197, pingpong4.factorio.com:34197) for own address 16.362 Info UDPSocket.cpp:39: Opening socket for broadcast 16.363 Info RemoteCommandProcessor.cpp:131: Starting RCON interface at IP ADDR:({0.0.0.0:41141}) 16.363 Info CommandLineMultiplayer.cpp:278: Maximum segment size = 100; minimum segment size = 25; maximum-segment-size peer count = 10; minimum-segment-size peer count = 20 16.365 Info RemoteCommandProcessor.cpp:242: New RCON connection from IP ADDR:({127.0.0.1:59562}) 16.448 Info ServerRouter.cpp:519: Own address is IP ADDR:({********:34197}) (confirmed by pingpong1) 16.482 Info ServerRouter.cpp:519: Own address is IP ADDR:({********:34197}) (confirmed by pingpong3) 16.617 Info ServerRouter.cpp:519: Own address is IP ADDR:({********:34197}) (confirmed by pingpong4) 16.898 Info MatchingServer.cpp:114: Matching server game8832500has been created. 16.901 Info ServerMultiplayerManager.cpp:712: Matching server connection resumed 57.454 ConnectionRequestReplyConfirm (type(ConnectionRequestReplyConfirm) ) from(IP ADDR:({172.20.0.3:57548})) 57.454 Refusing connection for address (IP ADDR:({172.20.0.3:57548})), username (*******). UserVerificationMissing 57.940 ConnectionRequestReplyConfirm (type(ConnectionRequestReplyConfirm) ) from(IP ADDR:({172.20.0.3:57040})) 57.940 Info ServerRouter.cpp:453: Replying to connectionRequest for address(IP ADDR:({172.20.0.3:57040})). 57.941 Info ServerSynchronizer.cpp:600: nextHeartbeatSequenceNumber(1240) adding peer(1) 57.958 Info ServerMultiplayerManager.cpp:780: updateTick(4082776) changing state from(InGame) to(InGameSavingMap) 57.975 Info ServerMultiplayerManager.cpp:930: updateTick(4082776) received stateChanged peerID(1) oldState(Ready) newState(ConnectedWaitingForMap) 58.737 Info ServerMultiplayerManager.cpp:997: UpdateTick(4082776) Serving map(/opt/factorio/temp/mp-save-0.zip) for peer(1) size(7473335) crc(1390644790) 58.737 Info ServerMultiplayerManager.cpp:780: updateTick(4082776) changing state from(InGameSavingMap) to(InGame) 58.805 Info ServerMultiplayerManager.cpp:930: updateTick(4082776) received stateChanged peerID(1) oldState(ConnectedWaitingForMap) newState(ConnectedDownloadingMap) 61.434 Info ServerMultiplayerManager.cpp:930: updateTick(4082776) received stateChanged peerID(1) oldState(ConnectedDownloadingMap) newState(ConnectedLoadingMap) 62.837 Info ServerMultiplayerManager.cpp:930: updateTick(4082859) received stateChanged peerID(1) oldState(ConnectedLoadingMap) newState(TryingToCatchUp) 62.995 Info ServerMultiplayerManager.cpp:930: updateTick(4082868) received stateChanged peerID(1) oldState(TryingToCatchUp) newState(WaitingForCommandToStartSendingTickClosures) 62.995 Info GameActionHandler.cpp:4961: UpdateTick (4082868) processed PlayerJoinGame peerID(1) playerIndex(0) mode(connect) 63.083 Info ServerMultiplayerManager.cpp:930: updateTick(4082874) received stateChanged peerID(1) oldState(WaitingForCommandToStartSendingTickClosures) newState(InGame)

knoxfighter commented 3 years ago

It's not about the log in the UI. You can only see the factorio log there. The server-manager is printing a lot to std-out, that is the log i mean^^ With the screenshot i should be able to reproduce your error :)

goomatag commented 3 years ago

Ah, I did wonder, where can I find that?

knoxfighter commented 3 years ago

docker-compose logs and if your not using docker-compose it is somewhere printed, or just not saved. But as i said, i think i don't need it.

goomatag commented 3 years ago

Just in case you do (this section is repeated about 3 times):

factorio-server-manager | /opt/fsm/mod_packs factorio-server-manager | 2020/12/27 14:02:50 no ModPackDir found ... creating one ... factorio-server-manager | 2020/12/27 14:02:50 Loaded Factorio settings from /opt/factorio/config/server-settings.json factorio-server-manager | 2020/12/27 14:02:50 Created/Updated user: admin factorio-server-manager | 2020/12/27 14:02:50 Starting server on: 0.0.0.0:80 factorio-server-manager | 2020/12/27 14:03:15 skipping dependency '(?) bobinserters >= 0.17.1' in 'miniloader': optional dependency or invalid format factorio-server-manager | 2020/12/27 14:03:15 skipping dependency '? boblogistics >= 0.17.1' in 'miniloader': optional dependency or invalid format factorio-server-manager | 2020/12/27 14:03:15 skipping dependency '? FactorioExtended-Plus-Transport >= 0.1.5' in 'miniloader': optional dependency or invalid format factorio-server-manager | 2020/12/27 14:03:15 skipping dependency '? Krastorio2 >= 0.9.0' in 'miniloader': optional dependency or invalid format factorio-server-manager | 2020/12/27 14:03:15 skipping dependency '? RandomFactorioThings >= 1.0.0' in 'miniloader': optional dependency or invalid format factorio-server-manager | 2020/12/27 14:03:15 skipping dependency '? UltimateBelts >= 0.16.4' in 'miniloader': optional dependency or invalid format factorio-server-manager | 2020/12/27 14:03:15 skipping dependency '? UltimateBelts_Owoshima_And_Pankeko-Mod >= 0.16.4' in 'miniloader': optional dependency or invalid format factorio-server-manager | 2020/12/27 14:03:15 skipping dependency '? space-exploration >= 0.1.95' in 'miniloader': optional dependency or invalid format factorio-server-manager | 2020/12/27 14:03:15 error finding basemodDependency. Using FactorioVersion... factorio-server-manager | 2020/12/27 14:04:27 skipping dependency '(?) bobinserters >= 0.17.1' in 'miniloader': optional dependency or invalid format factorio-server-manager | 2020/12/27 14:04:27 skipping dependency '? boblogistics >= 0.17.1' in 'miniloader': optional dependency or invalid format factorio-server-manager | 2020/12/27 14:04:27 skipping dependency '? FactorioExtended-Plus-Transport >= 0.1.5' in 'miniloader': optional dependency or invalid format factorio-server-manager | 2020/12/27 14:04:27 skipping dependency '? Krastorio2 >= 0.9.0' in 'miniloader': optional dependency or invalid format factorio-server-manager | 2020/12/27 14:04:27 skipping dependency '? RandomFactorioThings >= 1.0.0' in 'miniloader': optional dependency or invalid format factorio-server-manager | 2020/12/27 14:04:27 skipping dependency '? UltimateBelts >= 0.16.4' in 'miniloader': optional dependency or invalid format factorio-server-manager | 2020/12/27 14:04:27 skipping dependency '? UltimateBelts_Owoshima_And_Pankeko-Mod >= 0.16.4' in 'miniloader': optional dependency or invalid format factorio-server-manager | 2020/12/27 14:04:27 skipping dependency '? space-exploration >= 0.1.95' in 'miniloader': optional dependency or invalid format factorio-server-manager | 2020/12/27 14:04:27 error finding basemodDependency. Using FactorioVersion... factorio-server-manager | 2020/12/27 14:04:28 download complete factorio-server-manager | StatusCode: 200 factorio-server-manager | Status: 200 OK

knoxfighter commented 3 years ago

so, found, what the reason is: In the popup, where you can select and download a version, only basic information about a mod are available. So the compatibility is tested against "factorio_version": "1.1",. When the mod is downloaded and we have the complete info.json, we use the more precise dependencies field to check compatibility "dependencies": ["base >= 1.0.0"]. As you can see, the mod forgot to update that field. We should support such a thing ... I'm going to implement it.

goomatag commented 3 years ago

@knoxfighter Just thought I'd better mention in case it hasn't been spotted, one of the recent changes has broken the "Factorio Version" on the Controls screen 😕

Screenshot 2020-12-27 at 19 07 24
knoxfighter commented 3 years ago

I cannot reproduce this error, what factorio version do you use? And are you sure, your running the newest docker image? (just pull it again docker pull ofsm/ofsm:develop)

goomatag commented 3 years ago

EDIT: @knoxfighter scratch that, a fresh pull seems to have cured that issue, althought I did see it flick to "unknown" as the server started so may be something to keep an eye on but as of now, all good

I'm using the latest beta version of Factorio which at the moment is 1.1.6

Yeah I pulled just after merge 204, unless this was fixed in merge 205? I'm technically 1 merge behind

knoxfighter commented 3 years ago

Just load the newest, and if that error persists, post your server-manager log again (also see if in the browser console some error occures)

goomatag commented 3 years ago

Yep, seems to be okay now, I think we can consider this issue donezo as I can download mods etc again, I'll report back if there is an issue whenever one is updated again

knoxfighter commented 3 years ago

Thanks for the reports, will close this now. For further bugs, just open new issues :)