FreeCol / freecol

FreeCol: FreeCol is a turn-based strategy game based on the old game Colonization, and similar to Civilization. The objective of the game is to create an independent nation.
GNU General Public License v2.0
585 stars 170 forks source link

Game stuck after Independence #66

Closed Nserk closed 3 years ago

Nserk commented 4 years ago

Hi to all. I have this problem: after I declare my independence and then end my turn, the game begins to process the AI players, but it end being stuck, I try to reconnect but it remains stuck on waiting for the royal expedition. I premise that I'm quite late in the game and I think that the royal expedition is quite vast... I gegan this game quite ago, and now I'm using the last nighly release. I attach also my save file, I hope it will be useful...

d692444a_Libero_Stato_olandese_1587_05_Season_5.zip

perror commented 4 years ago

I have the same problem but it seems linked to trade routes. Have you defined trade routes (with several wagons on at least one trade route) ?

Nserk commented 4 years ago

No, I don't have any trade route at all...

MiloBem commented 3 years ago

The problem is with the AI of Dutch Royal Expeditionary Force navy. I don't know the AI part of the game, to say why it fails.

java.lang.NullPointerException
    at net.sf.freecol.common.model.Map.searchMap(Map.java:1805)
    at net.sf.freecol.common.model.Map.search(Map.java:1517)
    at net.sf.freecol.common.model.Unit.search(Unit.java:3015)
    at net.sf.freecol.server.ai.REFAIPlayer.initialize(REFAIPlayer.java:484)
    at net.sf.freecol.server.control.InGameController.endTurn(InGameController.java:2145)
    at net.sf.freecol.common.networking.EndTurnMessage.serverHandler(EndTurnMessage.java:77)
    at net.sf.freecol.server.control.ServerInputHandler.handle(ServerInputHandler.java:75)
    at net.sf.freecol.common.networking.Connection.handle(Connection.java:514)
    at net.sf.freecol.server.networking.DummyConnection.askMessage(DummyConnection.java:109)
    at net.sf.freecol.common.networking.Connection.request(Connection.java:550)
    at net.sf.freecol.common.networking.ServerAPI.ask(ServerAPI.java:197)
    at net.sf.freecol.common.networking.ServerAPI.endTurn(ServerAPI.java:509)
    at net.sf.freecol.server.ai.AIMessage.askEndTurn(AIMessage.java:252)
    at net.sf.freecol.server.ai.AIPlayer.lambda$setCurrentPlayerHandler$12(AIPlayer.java:517)
    at java.base/java.lang.Thread.run(Thread.java:835)
----------------------------
mpope042 commented 3 years ago

Fixed in git.83852f7. With that fix in place the turn ends correctly, and the REF shows up in due course as expected.

Note: The primary development site for FreeCol is still SourceForge, github is merely a mirror. As such, this is a better place to get attention to your bugs.