MovingBlocks / Terasology

Terasology - open source voxel world
http://terasology.org
Apache License 2.0
3.69k stars 1.34k forks source link

Weird error happens when I start the headless server for the second time #3569

Closed iHDeveloper closed 5 years ago

iHDeveloper commented 5 years ago

What you were trying to do

I was trying to start the headless server again via ./gradlew server after it stopped.

What actually happened

It throws an error and ends the process.

How to reproduce

Log details and game version

https://paste.md-5.net/nedefisoxu.avrasm

Computer details

Ubuntu 18.04.1 LTS

kaen commented 5 years ago

Confirmed on develop, commit 948676050a7827dac5e04927087832ffc462da41

worldInfo is null here (because the GameManifest from the previous lines contains an empty worlds list). This only happens when trying to load a saved game (rather than create a new one) during StateHeadlessSetup.

        if (worldInfo.getSeed() == null || worldInfo.getSeed().isEmpty()) {
            FastRandom random = new FastRandom();
            worldInfo.setSeed(random.nextString(16));
        }

This even happens when Terasology reports a smooth game save. Deleting terasology-server lets you at least run the headless server again, but then you lose all your server's data. Below is a complete log of running a fresh headless server, interrupting, and attempting to run again.

https://hastebin.com/nicijapube.cs

Cervator commented 5 years ago

I missed this issue when I hit the same problem. And even by then there was already a fix ready in #3534 !

That was merged two days ago so this issue should now also be resolved. Closing as complete :-)