Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Unknown-horizons crashed.  (gelezen 2168 keer)

Offline bart85

  • Lid
Unknown-horizons crashed.
« Gepost op: 2022/06/19, 16:05:59 »
Het spel unknown-horizons crashed nadat ik een single game wil starten.
Dit is op Ubuntu 22.04
Deze foutmelding in de terminal:
$ unknown-horizons
Ship created and weapons loaded.
Traceback (most recent call last):
  File "/usr/games/unknown-horizons", line 381, in <module>
    main()
  File "/usr/games/unknown-horizons", line 122, in main
    ret = horizons.main.start(options)
  File "/usr/lib/python3/dist-packages/horizons/main.py", line 255, in start
    horizons.globals.fife.run()
  File "/usr/lib/python3/dist-packages/horizons/engine/engine.py", line 279, in run
    self.loop()
  File "/usr/lib/python3/dist-packages/horizons/engine/engine.py", line 296, in loop
    f()
  File "/usr/lib/python3/dist-packages/horizons/timer.py", line 112, in check_tick
    f(self.tick_next_id)
  File "/usr/lib/python3/dist-packages/horizons/scheduler.py", line 95, in tick
    callback.callback()
  File "/usr/lib/python3/dist-packages/horizons/util/python/callback.py", line 48, in __call__
    return self.callback(*self.args, **self.kwargs)
  File "/usr/lib/python3/dist-packages/horizons/ai/pirate.py", line 99, in tick
    self.combat_manager.tick()
  File "/usr/lib/python3/dist-packages/horizons/ai/aiplayer/combat/combatmanager.py", line 343, in tick
    self.lookout()
  File "/usr/lib/python3/dist-packages/horizons/ai/aiplayer/combat/combatmanager.py", line 334, in lookout
    self.handle_casual_combat()
  File "/usr/lib/python3/dist-packages/horizons/ai/aiplayer/combat/combatmanager.py", line 423, in handle_casual_combat
    rules = (filters.not_in_fleet, filters.pirate, filters.ship_state(self.ships, self.shipStates.idle))
  File "/usr/lib/python3/dist-packages/horizons/ai/aiplayer/combat/unitmanager.py", line 154, in _ship_state_rule
    if not isinstance(ship_states, collections.Iterable):
AttributeError: module 'collections' has no attribute 'Iterable'
AL lib: (EE) alc_cleanup: 1 device not closed
« Laatst bewerkt op: 2022/06/19, 16:12:26 door bart85 »
Relying on complex tools to manage and build your system is going to hurt the end-users. [...] "If you try to hide the complexity of the system, you'll end up with a more complex system". Layers of abstraction that serve to hide internals are never a good thing. Instead, the internals should be designed in a way such that they NEED no hiding.

— Aaron Griffin

Re: Unknown-horizons crashed.
« Reactie #1 Gepost op: 2022/07/02, 12:28:21 »
Zo te zien zit de fout echt in de code van het spel zelf, of heeft het in eerdere versies van Ubuntu wel gewerkt? In dat geval wordt er misschien een functie aangeroepen in een module die niet meer bestaat in 22.04.

Ik zou zeggen, maak een bug report maar de Pythonversie wordt blijkbaar niet meer actief ontwikkeld en ze vragen om geen issues meer aan te maken:
https://github.com/unknown-horizons/unknown-horizons

Nieuwe ontwikkeling van het spel is hier (maar lijkt niet heel actief):
https://github.com/unknown-horizons/godot-port



Offline bart85

  • Lid
Re: Unknown-horizons crashed.
« Reactie #2 Gepost op: 2022/07/02, 17:12:24 »
Op Arch Linux doet hij het wel in flatpak.
Relying on complex tools to manage and build your system is going to hurt the end-users. [...] "If you try to hide the complexity of the system, you'll end up with a more complex system". Layers of abstraction that serve to hide internals are never a good thing. Instead, the internals should be designed in a way such that they NEED no hiding.

— Aaron Griffin

Re: Unknown-horizons crashed.
« Reactie #3 Gepost op: 2022/07/02, 21:55:21 »
Draai je de applicatie in Ubuntu ook als Flatpak?

Ik heb geen idee hoe Flatpak met de Pythonversie omgaat (wordt die meeverpakt?) maar Ubuntu 22.04 heeft blijkbaar versie 3.10+ volgens https://packages.ubuntu.com/jammy/python3 De klasse Iterable is verplaatst naar module collections.abc. Dus code die collections.Iterable aanspreekt werkt niet meer in deze versie.

Zie:
https://docs.python.org/3/library/collections.abc.html#module-collections.abc
https://stackoverflow.com/questions/53978542/how-to-use-collections-abc-from-both-python-3-8-and-python-2-7

Per Python 3.8 werkt het niet meer dus dit spel heeft Python3.7 of lager nodig om te werken. Of je moet de code aanpassen zodat ie collections.abc ipv collections gebruikt.

Re: Unknown-horizons crashed.
« Reactie #4 Gepost op: 2022/12/07, 09:08:21 »
Het werkt op Ubuntu op Flatpak voor mij. Geen fouten tot nu toe.

Geweldig spel trouwens  ;)