anegostudios / VintageStory-Issues

Vintage Story's public issue tracker for reporting bugs, crashes and the like
46 stars 16 forks source link

Custom polarEquatorDistance value does not match actual distance from pole to equator #3148

Open daemonspring opened 1 year ago

daemonspring commented 1 year ago

Game Version

1.18.15

Platform

Linux

Modded

Vanilla

SP/MP

Multiplayer

Description

/worldconfig polarEquatorDistance indicates a value of 18432, but taking measurements with /wgen pos latitude indicates that the distance from 0° to 90° is 50000.

How to reproduce

Commands used to verify the problem:

/tp s[] 0 113 8000
/wgen pos latitude
/tp s[] 0 137 -42000
/wgen pos latitude
/worldconfig polarEquatorDistance

serverconfig.json used to generate the test map (on a dedicated Linux server):

{
  "EntityDebugMode": false,
  "ConfigVersion": "1.5",
  "ServerName": "Daemon's Server",
  "ServerUrl": null,
  "ServerDescription": null,
  "WelcomeMessage": "Welcome {0}, may you survive well and prosper",       
  "Ip": null,
  "Port": 42420,
  "Upnp": false,
  "CompressPackets": true,
  "AdvertiseServer": false,
  "MaxClients": 16,
  "PassTimeWhenEmpty": false,
  "MasterserverUrl": "http://masterserver.vintagestory.at/api/v1/servers/",
  "ModDbUrl": "https://mods.vintagestory.at/",
  "ClientConnectionTimeout": 150,
  "Password": null,
  "MapSizeX": 1024000,
  "MapSizeY": 256,
  "MapSizeZ": 1024000,
  "ServerLanguage": "en",
  "MaxChunkRadius": 16,
  "TickTime": 33.333332,
  "SpawnCapPlayerScaling": 0.75,
  "BlockTickChunkRange": 4,
  "MaxMainThreadBlockTicks": 10000,
  "RandomBlockTicksPerChunk": 16,
  "BlockTickInterval": 300,
  "SkipEveryChunkRow": 52,
  "SkipEveryChunkRowWidth": 12,
  "Roles": [
    {
      "Code": "suvisitor",
      "PrivilegeLevel": -1,
      "Name": "Survival Visitor",
      "Description": "Can only visit this world and chat but not use/place/break anything",
      "DefaultSpawn": null,
      "ForcedSpawn": null,
      "Privileges": [
        "chat"
      ],
      "RuntimePrivileges": [],
      "DefaultGameMode": 1,
      "Color": "Green",
      "LandClaimAllowance": 0,
      "LandClaimMinSize": {
        "X": 5,
        "Y": 5,
        "Z": 5
      },
      "LandClaimMaxAreas": 3,
      "AutoGrant": false
    },
    {
      "Code": "crvisitor",
      "PrivilegeLevel": -1,
      "Name": "Creative Visitor",
      "Description": "Can only visit this world, chat and fly but not use/place/break anything",
      "DefaultSpawn": null,
      "ForcedSpawn": null,
      "Privileges": [
        "chat"
      ],
      "RuntimePrivileges": [],
      "DefaultGameMode": 2,
      "Color": "DarkGray",
      "LandClaimAllowance": 0,
      "LandClaimMinSize": {
        "X": 5,
        "Y": 5,
        "Z": 5
      },
      "LandClaimMaxAreas": 3,
      "AutoGrant": false
    },
    {
      "Code": "limitedsuplayer",
      "PrivilegeLevel": -1,
      "Name": "Limited Survival Player",
      "Description": "Can use/place/break blocks only in permitted areas (priv level -1), create/manage player groups and chat",
      "DefaultSpawn": null,
      "ForcedSpawn": null,
      "Privileges": [
        "controlplayergroups",
        "manageplayergroups",
        "chat",
        "build",
        "useblock",
        "attackcreatures",
        "attackplayers",
        "selfkill"
      ],
      "RuntimePrivileges": [],
      "DefaultGameMode": 1,
      "Color": "White",
      "LandClaimAllowance": 0,
      "LandClaimMinSize": {
        "X": 5,
        "Y": 5,
        "Z": 5
      },
      "LandClaimMaxAreas": 3,
      "AutoGrant": false
    },
    {
      "Code": "limitedcrplayer",
      "PrivilegeLevel": -1,
      "Name": "Limited Creative Player",
      "Description": "Can use/place/break blocks in only in permitted areas (priv level -1), create/manage player groups, chat, fly and set his own game mode (= allows fly and change of move speed)",
      "DefaultSpawn": null,
      "ForcedSpawn": null,
      "Privileges": [
        "controlplayergroups",
        "manageplayergroups",
        "chat",
        "build",
        "useblock",
        "gamemode",
        "freemove",
        "attackcreatures",
        "attackplayers",
        "selfkill"
      ],
      "RuntimePrivileges": [],
      "DefaultGameMode": 2,
      "Color": "LightGreen",
      "LandClaimAllowance": 0,
      "LandClaimMinSize": {
        "X": 5,
        "Y": 5,
        "Z": 5
      },
      "LandClaimMaxAreas": 3,
      "AutoGrant": false
    },
    {
      "Code": "suplayer",
      "PrivilegeLevel": 0,
      "Name": "Survival Player",
      "Description": "Can use/place/break blocks in unprotected areas (priv level 0), create/manage player groups and chat. Can claim an area of up to 8 chunks.",
      "DefaultSpawn": null,
      "ForcedSpawn": null,
      "Privileges": [
        "controlplayergroups",
        "manageplayergroups",
        "chat",
        "areamodify",
        "build",
        "useblock",
        "attackcreatures",
        "attackplayers",
        "selfkill"
      ],
      "RuntimePrivileges": [],
      "DefaultGameMode": 1,
      "Color": "White",
      "LandClaimAllowance": 262144,
      "LandClaimMinSize": {
        "X": 5,
        "Y": 5,
        "Z": 5
      },
      "LandClaimMaxAreas": 3,
      "AutoGrant": false
    },
    {
      "Code": "crplayer",
      "PrivilegeLevel": 100,
      "Name": "Creative Player",
      "Description": "Can use/place/break blocks in all areas (priv level 100), create/manage player groups, chat,\nfly and set his own game mode (= allows fly and change of move speed). Can claim an area of up to 40 chunks.",    
      "DefaultSpawn": null,
      "ForcedSpawn": null,
      "Privileges": [
        "controlplayergroups",
        "manageplayergroups",
        "chat",
        "areamodify",
        "build",
        "useblock",
        "gamemode",
        "freemove",
        "attackcreatures",
        "attackplayers",
        "selfkill"
      ],
      "RuntimePrivileges": [],
      "DefaultGameMode": 2,
      "Color": "LightGreen",
      "LandClaimAllowance": 1310720,
      "LandClaimMinSize": {
        "X": 5,
        "Y": 5,
        "Z": 5
      },
      "LandClaimMaxAreas": 6,
      "AutoGrant": false
    },
    {
      "Code": "sumod",
      "PrivilegeLevel": 200,
      "Name": "Survival Moderator",
      "Description": "Can use/place/break blocks everywhere (priv level 200), create/manage player groups, chat, kick/ban players and do serverwide announcements. Can claim an area of up to 4 chunks.",
      "DefaultSpawn": null,
      "ForcedSpawn": null,
      "Privileges": [
        "controlplayergroups",
        "manageplayergroups",
        "chat",
        "areamodify",
        "build",
        "useblock",
        "buildblockseverywhere",
        "useblockseverywhere",
        "kick",
        "ban",
        "announce",
        "readlists",
        "attackcreatures",
        "attackplayers",
        "selfkill"
      ],
      "RuntimePrivileges": [],
      "DefaultGameMode": 1,
      "Color": "Cyan",
      "LandClaimAllowance": 1310720,
      "LandClaimMinSize": {
        "X": 5,
        "Y": 5,
        "Z": 5
      },
      "LandClaimMaxAreas": 60,
      "AutoGrant": false
    },
    {
      "Code": "crmod",
      "PrivilegeLevel": 500,
      "Name": "Creative Moderator",
      "Description": "Can use/place/break blocks everywhere (priv level 500), create/manage player groups, chat, kick/ban players, fly and set his own or other players game modes (= allows fly and change of move speed). Can claim\nan area of up to 40 chunks.",
      "DefaultSpawn": null,
      "ForcedSpawn": null,
      "Privileges": [
        "controlplayergroups",
        "manageplayergroups",
        "chat",
        "areamodify",
        "build",
        "useblock",
        "buildblockseverywhere",
        "useblockseverywhere",
        "kick",
        "ban",
        "gamemode",
        "freemove",
        "commandplayer",
        "announce",
        "readlists",
        "attackcreatures",
        "attackplayers",
        "selfkill"
      ],
      "RuntimePrivileges": [],
      "DefaultGameMode": 2,
      "Color": "Cyan",
      "LandClaimAllowance": 1310720,
      "LandClaimMinSize": {
        "X": 5,
        "Y": 5,
        "Z": 5
      },
      "LandClaimMaxAreas": 60,
      "AutoGrant": false
    },
    {
      "Code": "admin",
      "PrivilegeLevel": 99999,
      "Name": "Admin",
      "Description": "Has all privileges, including giving other players admin status.",
      "DefaultSpawn": null,
      "ForcedSpawn": null,
      "Privileges": [
        "build",
        "useblock",
        "buildblockseverywhere",
        "useblockseverywhere",
        "attackplayers",
        "attackcreatures",
        "freemove",
        "gamemode",
        "pickingrange",
        "chat",
        "kick",
        "ban",
        "whitelist",
        "setwelcome",
        "announce",
        "readlists",
        "give",
        "areamodify",
        "setspawn",
        "controlserver",
        "tp",
        "time",
        "grantrevoke",
        "root",
        "commandplayer",
        "controlplayergroups",
        "manageplayergroups",
        "selfkill",
        "worldedit"
      ],
      "RuntimePrivileges": [],
      "DefaultGameMode": 1,
      "Color": "LightBlue",
      "LandClaimAllowance": 2147483647,
      "LandClaimMinSize": {
        "X": 5,
        "Y": 5,
        "Z": 5
      },
      "LandClaimMaxAreas": 99999,
      "AutoGrant": true
    }
  ],
  "DefaultRoleCode": "suplayer",
  "ModPaths": [
    "Mods",
    "/srv/vintage_story/Mods"
  ],
  "AntiAbuse": 0,
  "WorldConfig": {
    "Seed": "quartz",
    "SaveFileLocation": "/srv/vintage_story/Saves/quartz_test.vcdbs",
    "WorldName": "Quartz",
    "AllowCreativeMode": true,
    "PlayStyle": "surviveandbuild",
    "PlayStyleLangCode": "preset-surviveandbuild",
    "WorldType": "standard",
    "WorldConfiguration": {
      "spawnRadius ": 0,
      "temporalGearRespawnUses": -1,
      "playerlives": -1,
      "disableDeathMessages": true,
      "blockGravity": "sandgravelsoil",
      "allowUndergroundFarming": true,
      "microblockChiseling": "all",
      "classExclusiveRecipes": false,
      "playerHungerSpeed": 0.75,
      "toolDurability": 1.25,
      "temporalStorms": "sometimes",
      "tempstormDurationMul": 2,
      "temporalStability": true,
      "temporalRifts": "off",
      "temporalStormSleeping": 0,
      "polarEquatorDistance": 18432,
      "globalDepositSpawnRate": 2,
      "surfaceCopperDeposits": 0.2,
      "surfaceTinDeposits": 0.14
    },
    "MapSizeY": 256,
    "CreatedByPlayerName": "daemonspring",
    "DisabledMods": null,
    "RepairMode": false
  },
  "NextPlayerGroupUid": 10,
  "GroupChatHistorySize": 20,
  "MaxOwnedGroupChannelsPerUser": 10,
  "OnlyWhitelisted": true,
  "VerifyPlayerAuth": true,
  "DefaultSpawn": {
    "x": 511168,
    "y": 112,
    "z": 530432,
  },
  "AllowPvP": true,
  "AllowFireSpread": true,
  "AllowFallingBlocks": true,
  "HostedMode": false,
  "StartupCommands": null,
  "RepairMode": false,
  "AnalyzeMode": false,
  "CorruptionProtection": true,
  "RegenerateCorruptChunks": false,
  "ChatRateLimitMs": 1000,
  "DieBelowDiskSpaceMb": 400,
  "ModIdBlackList": null
}
daemonspring commented 1 year ago

This results in the buggy behaviour (number):

"polarEquatorDistance": 18432,

This results in the correct behaviour (string):

"polarEquatorDistance": "18432",