mojira.dev
MC-135383

Minecraft Server: com.google.gson.JsonSyntaxException caused by malformed flatland string

The bug

I was upgrading an existing server from 1.12.2 to 1.13 and it wouldn't start and would just crash at startup. I was able to replicate the issue down to a single line in server.properties that worked fine before but is now an issue.

The line is:

generator-settings=3;minecraft\:stone;-1;

I tested this on a fresh vanilla install that I verified ran fine. Once I added the offending line:

---- Minecraft Crash Report ----
// On the bright side, I bought you a teddy bear!

Time: 8/1/18 10:22 AM
Description: Exception in server tick loop

com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 3 path $
        at com.google.gson.JsonParser.parse(JsonParser.java:65)
        at com.google.gson.JsonParser.parse(JsonParser.java:45)
        at sn.d(SourceFile:246)
        at net.minecraft.server.MinecraftServer.run(SourceFile:541)
        at java.lang.Thread.run(Thread.java:748)
Caused by: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 3 path $
        at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1559)
        at com.google.gson.stream.JsonReader.checkLenient(JsonReader.java:1401)
        at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:542)
        at com.google.gson.stream.JsonReader.peek(JsonReader.java:425)
        at com.google.gson.JsonParser.parse(JsonParser.java:60)
        ... 4 more


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- System Details --
Details:
        Minecraft Version: 1.13
        Operating System: Linux (amd64) version 2.6.32-696.23.1.el6.x86_64
        Java Version: 1.8.0_181, Oracle Corporation
        Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Oracle Corporation
        Memory: 912840056 bytes (870 MB) / 1029177344 bytes (981 MB) up to 1029177344 bytes (981 MB)
        JVM Flags: 2 total; -Xmx1024M -Xms1024M
        Profiler Position: N/A (disabled)
        Player Count: 0 / 20; []
        Data Packs: 
        Is Modded: Unknown (can't tell)
        Type: Dedicated Server (map_server.txt)

Linked issues

Comments 4

Please recreate the superflat world in single player and copy the resulting string to the generator-settings in server.properties

I already have an existing world that was generated with the "offending" line.
Since the world is already generated, I just removed the line and was able to start the server, so I don't need to actually generate anything.
As such, an existing line shouldn't cause a crash on startup. Or at least give a proper error on what to fix.

> Please recreate the superflat world in single player and copy the resulting string to the generator-settings in server.properties

I am having the same issue and did exactly this, it resolved nothing.
Noteable:
After every start of the server when I copied the exact string from "Re-create world" and pasting it in server.properties, some `:` characters in for example `generator-settings=3;minecraft:stone;-1;` are replaced by `\:`, as seen `generator-settings=3;minecraft\:stone;-1;` here.

Perhaps this is amongst the core of this issue?

Use proper json format to get this to work. For example

generator-settings={"layers"\:[{"block"\:"minecraft\:stone","height"\:1}],"biome"\:"minecraft\:plains"}

Jack Scagnetti

(Unassigned)

Confirmed

(Unassigned)

crash, generator-settings, level-type, server.properties

Minecraft 1.13, Minecraft 1.13.1, Minecraft 19w02a

Retrieved