GrapeshotGames / ServerGridEditor

ServerGridEditor for Atlas
https://playatlas.com/
MIT License
83 stars 141 forks source link

Override ShooterGameMode DefaultGame.ini Value doesn't propogate to ./Saved/Config/Game.ini or ./Game/<Grid>/Config/Game.ini #70

Open duxck opened 5 years ago

duxck commented 5 years ago

Been trying to figure out the overrides for Game.ini and doesn't seem to be propegating to the config files when you launch the server. I am not sure if I understand how this should work. But this has been my guess so far.

Below is the global json and the specific server i've done the override to. Both ..\Saved\Config\WindowsServer\Game.ini and ..\Saved\22\Config\WindowsServer\Game.ini are empty even after multiple restarts of the server.

{
  "BaseServerArgs": "",
  "gridSize": 1400000.0,
  "MetaWorldURL": "",
  "WorldFriendlyName": "NOT COMPLETE JSON SERVER",
  "WorldAtlasId": "123456777",
  "AuthListURL": "",
  "WorldAtlasPassword": "",
  "ModIDs": "",
  "MapImageURL": "",
  "totalGridsX": 5,
  "totalGridsY": 5,
  "bUseUTCTime": true,
  "columnUTCOffset": 0.0,
  "Day0": "2019-02-21 01:00:00",
  "globalTransitionMinZ": 0.0,
  "AdditionalCmdLineParams": "",
  "OverrideShooterGameModeDefaultGameIni": {
    "PerLevelStatsMultiplier_Player[0]": "3",
    "PerLevelStatsMultiplier_Player[1] ": "3",
    "PerLevelStatsMultiplier_Player[7] ": "3",
    "PerLevelStatsMultiplier_Player[10] ": "3",
    "PerLevelStatsMultiplier_Player[11] ": "3",
    "PerLevelStatsMultiplier_DinoTamed[0] ": "3",
    "PerLevelStatsMultiplier_DinoTamed[1] ": "3",
    "PerLevelStatsMultiplier_DinoTamed[3] ": "3",
    "PerLevelStatsMultiplier_DinoTamed[4] ": "3",
    "PerLevelStatsMultiplier_DinoTamed[7] ": "3",
    "PerLevelStatsMultiplier_DinoTamed[8] ": "3",
    "XPMultiplier": "2",
    "HarvestAmountMultiplier": "3",
    "TamingSpeedMultiplier": "2",
    "KillXPMultiplier": "1",
    "HarvestXPMultiplier": "1",
    "CraftXPMultiplier": "1",
    "GenericXPMultiplier": "1",
    "SpecialXPMultiplier": "1",
    "PlayerDefaultNoDiscoveriesMaxLevelUps": "125"
  },
  "globalGameplaySetup": "(QuestEntries=((QuestID=0,CompletedIcon=Texture2D'/Game/Atlas/UI/Icons/Icon_PowerStonesQuest_Complete.Icon_PowerStonesQuest_Complete',UncompletedIcon=Texture2D'/Game/Atlas/UI/Icons/Icon_PowerStonesQuest_Uncomplete.Icon_PowerStonesQuest_Uncomplete',QuestName=\"Voyage of Power\",QuestDescription=\"Journey across the ATLAS to hunt for the Power Stones, and then bring them to the Center Maw!\",UnlockFeatNames=(\"Dance10\"),QuestPointsOfInterest=((PointOfInterestID=0,PointOfInterestName=\"Power Stone 1\",UnlockFeatNames=(\"Dance1\"),WorldMapPosition=(X=0.765714,Y=0.963333),CompletedIcon=Texture2D'/Game/Atlas/UI/Icons/Item_InfinityGem_Icon.Item_InfinityGem_Icon',UncompletedIcon=Texture2D'/Game/Atlas/UI/Icons/Item_InfinityGem_Icon10.Item_InfinityGem_Icon10'),(PointOfInterestID=1,PointOfInterestName=\"Power Stone 2\",UnlockFeatNames=(\"Dance2\"),WorldMapPosition=(X=0.555714,Y=0.232857),CompletedIcon=Texture2D'/Game/Atlas/UI/Icons/Item_InfinityGem_Icon2.Item_InfinityGem_Icon2',UncompletedIcon=Texture2D'/Game/Atlas/UI/Icons/Item_InfinityGem_Icon10.Item_InfinityGem_Icon10'),(PointOfInterestID=2,PointOfInterestName=\"Power Stone 3\",UnlockFeatNames=(\"Dance3\"),WorldMapPosition=(X=0.021746,Y=0.227069),CompletedIcon=Texture2D'/Game/Atlas/UI/Icons/Item_InfinityGem_Icon3.Item_InfinityGem_Icon3',UncompletedIcon=Texture2D'/Game/Atlas/UI/Icons/Item_InfinityGem_Icon10.Item_InfinityGem_Icon10'),(PointOfInterestID=3,PointOfInterestName=\"Power Stone 4\",UnlockFeatNames=(\"Dance4\"),WorldMapPosition=(X=0.953886,Y=0.464009),CompletedIcon=Texture2D'/Game/Atlas/UI/Icons/Item_InfinityGem_Icon4.Item_InfinityGem_Icon4',UncompletedIcon=Texture2D'/Game/Atlas/UI/Icons/Item_InfinityGem_Icon10.Item_InfinityGem_Icon10'),(PointOfInterestID=4,PointOfInterestName=\"Power Stone 5\",UnlockFeatNames=(\"Dance5\"),WorldMapPosition=(X=0.770000,Y=0.569524),CompletedIcon=Texture2D'/Game/Atlas/UI/Icons/Item_InfinityGem_Icon5.Item_InfinityGem_Icon5',UncompletedIcon=Texture2D'/Game/Atlas/UI/Icons/Item_InfinityGem_Icon10.Item_InfinityGem_Icon10'),(PointOfInterestID=5,PointOfInterestName=\"Power Stone 6\",UnlockFeatNames=(\"Dance6\"),WorldMapPosition=(X=0.230265,Y=0.551268),CompletedIcon=Texture2D'/Game/Atlas/UI/Icons/Item_InfinityGem_Icon6.Item_InfinityGem_Icon6',UncompletedIcon=Texture2D'/Game/Atlas/UI/Icons/Item_InfinityGem_Icon10.Item_InfinityGem_Icon10'),(PointOfInterestID=6,PointOfInterestName=\"Power Stone 7\",UnlockFeatNames=(\"Dance7\"),WorldMapPosition=(X=0.965238,Y=0.752857),CompletedIcon=Texture2D'/Game/Atlas/UI/Icons/Item_InfinityGem_Icon7.Item_InfinityGem_Icon7',UncompletedIcon=Texture2D'/Game/Atlas/UI/Icons/Item_InfinityGem_Icon10.Item_InfinityGem_Icon10'),(PointOfInterestID=7,PointOfInterestName=\"Power Stone 8\",UnlockFeatNames=(\"Dance8\"),WorldMapPosition=(X=0.510617,Y=0.768677),CompletedIcon=Texture2D'/Game/Atlas/UI/Icons/Item_InfinityGem_Icon8.Item_InfinityGem_Icon8',UncompletedIcon=Texture2D'/Game/Atlas/UI/Icons/Item_InfinityGem_Icon10.Item_InfinityGem_Icon10'),(PointOfInterestID=8,PointOfInterestName=\"Power Stone 9 - Ghost Ship Route\",UnlockFeatNames=(\"Dance9\"),WorldMapPosition=(X=0.266455,Y=0.943280),CompletedIcon=Texture2D'/Game/Atlas/UI/Icons/HUD_GhostShip_Icon_Complete.HUD_GhostShip_Icon_Complete',UncompletedIcon=Texture2D'/Game/Atlas/UI/Icons/HUD_GhostShip_Icon.HUD_GhostShip_Icon'),(PointOfInterestID=9,PointOfInterestName=\"Bring all 9 Power Stones to Center Maw\",WorldMapPosition=(X=0.503693,Y=0.508595),CompletedIcon=Texture2D'/Game/Atlas/UI/Icons/HUD_BossLocation_Icon_Complete.HUD_BossLocation_Icon_Complete',UncompletedIcon=Texture2D'/Game/Atlas/UI/Icons/HUD_BossLocation_Icon.HUD_BossLocation_Icon')))))",
  "coordsScaling": 0.00015,
  "showServerInfo": false,
  "showDiscoZoneInfo": true,
  "showShipPathsInfo": false,
  "showIslandNames": false,
  "alphaBackground": true,
  "showBackground": true,
  "showForeground": true,
  "backgroundImgPath": "./WaterTiles/instinctworld-autoscaling.png",
  "discoZonesImagePath": "Resources/discoZoneBox.png",
  "servers": [
      {
      "gridX": 2,
      "gridY": 2,
      "MachineIdTag": "DADSARMY22C3",
      "ip": "79.136.70.95",
      "name": "Tropical Freeport",
      "port": 0,
      "gamePort": 12000,
      "seamlessDataPort": 27000,
      "isHomeServer": true,
      "AdditionalCmdLineParams": "",
      "OverrideShooterGameModeDefaultGameIni": {
        "bDontUseClaimFlags": "1",
        "NoClaimFlagPeriodDecayMultiplier": "4",
        "bClampHomeServer": "false"
      },
      "floorZDist": 0,
      "utcOffset": 0,
      "transitionMinZ": 0,
      "GlobalBiomeSeamlessServerGridPreOffsetValues": "(BiomeZoneName=\"Tropical At Land\",PreOffsetMaxDistanceFromShore=100000.000000,PreOffsetTemperatureMultiplier=1.350000,PreOffsetTemperatureMultiplierMaxDistanceFromShore=1.200000,PreOffsetTemperatureAdditionMaxDistanceFromShore=2.000000,PreOffsetTemperatureAddition=6.000000,PreOffsetTemperatureExponent=1.000000,PreOffsetTemperatureExponentMaxDistanceFromShore=1.000000,BiomeZoneNameAltDistanceName=\"Tropical Open Water\",BiomeZoneNameAltDistanceAmount=0.000000)",
      "GlobalBiomeSeamlessServerGridPreOffsetValuesOceanWater": "(BiomeZoneName=\"Tropical Ocean Water\",PreOffsetMaxDistanceFromShore=17500.000000,PreOffsetTemperatureMultiplier=1.400000,PreOffsetTemperatureMultiplierMaxDistanceFromShore=1.250000,PreOffsetTemperatureAdditionMaxDistanceFromShore=-25.000000,PreOffsetTemperatureAddition=3.000000,PreOffsetTemperatureExponent=1.000000,PreOffsetTemperatureExponentMaxDistanceFromShore=1.000000,BiomeZoneNameAltDistanceName=\"Tropical Deep Ocean\",BiomeZoneNameAltDistanceAmount=0.500000)",
      "OceanDinoDepthEntriesOverride": "",
      "oceanFloatsamCratesOverride": "",
      "treasureMapLootTablesOverride": "",
      "oceanEpicSpawnEntriesOverrideTemplateName": "",
      "NPCShipSpawnEntriesOverrideTemplateName": "",
      "regionOverrides": "(SoundOverrides=(NavalCombatMusicDay=SoundWave'/Game/Atlas/Music/ATL_SeaCombatJungleDay_v1.ATL_SeaCombatJungleDay_v1',NavalCombatMusicNight=SoundWave'/Game/Atlas/Music/ATL_SeaCombatJungleNight_v1.ATL_SeaCombatJungleNight_v1',CombatMusicDay=SoundWave'/Game/Atlas/Music/ATL_LandCombatJungleDay_v1.ATL_LandCombatJungleDay_v1',CombatMusicNight=SoundWave'/Game/Atlas/Music/ATL_LandCombatJungleNight_v1.ATL_LandCombatJungleNight_v1',CombatMusicDay_Heavy=SoundWave'/Game/Atlas/Music/ATL_LandCombatJungleDay_v1.ATL_LandCombatJungleDay_v1',CombatMusicNight_Heavy=SoundWave'/Game/Atlas/Music/ATL_LandCombatJungleNight_v1.ATL_LandCombatJungleNight_v1',Sound_TransitionToMorning=SoundWave'/Game/Atlas/Stingers/ATL_Sting_JungleMorning.ATL_Sting_JungleMorning',Sound_TransitionToMidDay=SoundWave'/Game/Atlas/Stingers/ATL_Sting_JungleNoon.ATL_Sting_JungleNoon',Sound_TransitionToNight=SoundWave'/Game/Atlas/Stingers/ATL_Sting_JungleNight.ATL_Sting_JungleNight',Sound_SetSail=SoundWave'/Game/Atlas/Stingers/ATL_Sting_JungleSetSail.ATL_Sting_JungleSetSail',Sound_Respawn=None,Sound_CreateNewCharacter=None),bDisableClaimFlags=False)",
      "waterColorR": 0.12,
      "waterColorG": 0.63,
      "waterColorB": 0.7,
      "skyStyleIndex": 4,
      "ServerCustomDatas1": ",NPCShipDifficultyMult,NPCShipDifficultyLerp,NPCShipNumMult,FloatsamQualityMultiplier,TreasureBottlesEnabled,DisableClaimFlags,ChanceForCold,",
      "ServerCustomDatas2": ",1.0,0.5,0.5,1.4,0.0,1.0,0,",
      "ClientCustomDatas1": ",OceanDepthFadeExponent,",
      "ClientCustomDatas2": ",-0.6,",
      }
  ]
duxck commented 5 years ago

This is how I have been thinking it works:

Level 1: ShooterGame/Config/DefaultGame.ini, DefaultGameUserSettings.ini
Level 2: ShooterGame/Saved/Config/WindowsServer/Game.ini, GameUserSettings.ini    (Comes from json)
Level 3: ShooterGame/Saved/<gridXY>/Condig/WindowsServer/Game.ini, GameUserSettings.ini (Comes from json)

ServerGrid.json global OverrideShooterGameModeDefaultGameIni will write its config to Level 2.
ServerGrid.json server specific OverrideShooterGameModeDefaultGameIni will write its config to Level 3.

level 3 prioritized over level 2, level 2 prioritized over level 1.
Death-Strike-Gaming commented 5 years ago

because the second portion of code you are trying to import is not supported in that location of the Json player overrides like engram points are changed in the server override section of that clusters map partition, majority of the default ini will not acknowledge specific ini overrides.

duxck commented 5 years ago

because the second portion of code you are trying to import is not supported in that location of the Json player overrides like engram points are changed in the server override section of that clusters map partition, majority of the default ini will not acknowledge specific ini overrides.

Is there any information on what is permitted where? Like my second comment states they should all be overridden by being written to the Saved folder configs right?

Death-Strike-Gaming commented 5 years ago

well the editors code is Json and C# so you have to place the correct code in the correct area when you open the server grid editor open that grids section open in the server override section for the grid you want to adjust and place the code override in the left box and the value in the right. if you are changing engrams for server wide then just leave the code in the game.ini as is for

"OverrideShooterGameModeDefaultGameIni": "PerLevelStatsMultiplier_Player[0]": "3", "PerLevelStatsMultiplier_Player[1] ": "3", "PerLevelStatsMultiplier_Player[7] ": "3", "PerLevelStatsMultiplier_Player[10] ": "3", "PerLevelStatsMultiplier_Player[11] ": "3", "PerLevelStatsMultiplier_DinoTamed[0] ": "3", "PerLevelStatsMultiplier_DinoTamed[1] ": "3", "PerLevelStatsMultiplier_DinoTamed[3] ": "3", "PerLevelStatsMultiplier_DinoTamed[4] ": "3", "PerLevelStatsMultiplier_DinoTamed[7] ": "3", "PerLevelStatsMultiplier_DinoTamed[8] ": "3", "XPMultiplier": "2", "HarvestAmountMultiplier": "3", "TamingSpeedMultiplier": "2", "KillXPMultiplier": "1", "HarvestXPMultiplier": "1", "CraftXPMultiplier": "1", "GenericXPMultiplier": "1", "SpecialXPMultiplier": "1", "PlayerDefaultNoDiscoveriesMaxLevelUps": "125"

Otherwise have the changed values in that specific grid and the game will default to the grids code when different. So for my server I set it to PVE but then had the override for PVP in the map grid so freeport is not contested and the cardinal directions are my lawless for a 3x3. though I have flags enabled in the defaultgame.ini the FP and lawless are set to not allow claimflags and when in game the warning pops up for cannot place flag in freeport or lawless

Death-Strike-Gaming commented 5 years ago

2019-02-24

Death-Strike-Gaming commented 5 years ago

if your using a 3rd party hosting they tend to inject into the Jason and can sometimes overright the Jason variables

duxck commented 5 years ago

This one should end up in ./Saved/Config/WindowsServer as far as I know. image

This one should go to /Saved//Config/WindowsServer image

I am not using any third party. Have a simple batch script to start the servers.

timeout 5
taskkill /F /im ShooterGameServer.exe
timeout 5
C:\atlas\steamcmd.exe +runscript atlas.txt
timeout 2
echo.
set atlaspath="C:\atlas\steamapps\common\ATLAS Dedicated Server\ShooterGame\Binaries\Win64"
echo Starting ATLASSERVER.exe
cd /d %atlaspath%

timeout 10
start ShooterGameServer.exe Ocean?ServerX=0?ServerY=0?AltSaveDirectoryName=00?RCONPort=16060?RCONEnabled=True?MaxPlayers=55?ReservedPlayerSlots=5?ServerAdmin<password>=<password>?QueryPort=10060?Port=12060?SeamlessIP=<Host IP> -log -server -culture=en
timeout 10
...
...
...
timeout 10
start ShooterGameServer.exe Ocean?ServerX=4?ServerY=4?AltSaveDirectoryName=44?RCONPort=16120?RCONEnabled=True?MaxPlayers=55?ReservedPlayerSlots=5?ServerAdmin<password>=<password>?QueryPort=10120?Port=12120?SeamlessIP=<Host IP> -log -server -culture=en
exit
Death-Strike-Gaming commented 5 years ago

try moving your overrides to the defaultgame.ini file for engram points itself where there other overrides that where not working?

duxck commented 5 years ago

I am aware that I can move them and manually add them to the files. This issue is however for the possibility to make it work as advertised in the application.

As far as I understand the program and how the *.ini files inherit from each other and which take priority the way it should work.

Death-Strike-Gaming commented 5 years ago

Yeah the default.ini seems to take priority sometimes on some code and not others still trying to get a response from dev team on an issue with a power stone island the map file seems to be outdated and missing the cave for the 2nd powerstone and was left unfinished in the editor release

duxck commented 5 years ago

https://discord.gg/nUPzNUn come to this discord, let's not clutter this issue with posts that aren't related.

DELETE THIS COMMENT

smallville11278 commented 3 years ago

Is there a way to add all quest lines/logs to the json file

smooreace commented 3 years ago

No

On Tue, Jan 26, 2021 at 4:40 PM smallville11278 notifications@github.com wrote:

Is there a way to add all quest lines/logs to the json file

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/GrapeshotGames/ServerGridEditor/issues/70#issuecomment-767870138, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIPE4Q7SK2QJNTYQNVQV3YLS347LNANCNFSM4GZY6YFA .