feat: add V Rising server #22

Closed
polpetta wants to merge 11 commits from vrising into master
There is no content yet.
polpetta added the
enhancement
label 2023-05-21 12:38:04 +02:00
polpetta self-assigned this 2023-05-21 12:38:04 +02:00
polpetta added 1 commit 2023-05-21 12:38:06 +02:00
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
ab384962d7
feat: add V Rising server
Poster
Owner

@candeogi check it, feel free to modify stuff

@candeogi check it, feel free to modify stuff
polpetta added 1 commit 2023-05-21 12:44:21 +02:00
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
4f7a805db3
feat: specify stop grade period
Poster
Owner

These are the two config files the container creates at startup. I'm afraid it overrides it every time with the parameters defined in the docker-compose configuration. If you see a user proposed https://github.com/Didstopia/vrising-server/pull/3 to add clan settings without editing those files.

N.B: I removed the passwords 🤡

ServerHostSettings.json

{
  "Name": "V Rising Clownfiesta Server",
  "Description": "V Rising server for Clownfiesta clan",
  "Port": 9876,
  "QueryPort": 9877,
  "MaxConnectedUsers": 100,
  "MaxConnectedAdmins": 100,
  "ServerFps": 30,
  "SaveName": "clownfiesta_server_1",
  "Password": "***",
  "Secure": true,
  "ListOnSteam": false,
  "ListOnEOS": false,
  "AutoSaveCount": 5,
  "AutoSaveInterval": 10,
  "CompressSaveFiles": true,
  "GameSettingsPreset": "StandardPvE",
  "AdminOnlyDebugEvents": true,
  "DisableDebugEvents": false,
  "API": {
    "Enabled": false
  },
  "Rcon": {
    "Enabled": true,
    "Password": "***",
    "Port": 9878
  },
  "Address": ""
}

ServerGameSettings.json

{
  "GameModeType": "PvE",
  "CastleDamageMode": "Always",
  "SiegeWeaponHealth": "Normal",
  "PlayerDamageMode": "Always",
  "CastleHeartDamageMode": "CanBeDestroyedByPlayers",
  "PvPProtectionMode": "Medium",
  "DeathContainerPermission": "Anyone",
  "RelicSpawnType": "Unique",
  "CanLootEnemyContainers": true,
  "BloodBoundEquipment": true,
  "TeleportBoundItems": true,
  "AllowGlobalChat": true,
  "AllWaypointsUnlocked": false,
  "FreeCastleClaim": false,
  "FreeCastleDestroy": false,
  "InactivityKillEnabled": true,
  "InactivityKillTimeMin": 3600,
  "InactivityKillTimeMax": 604800,
  "InactivityKillSafeTimeAddition": 172800,
  "InactivityKillTimerMaxItemLevel": 84,
  "DisableDisconnectedDeadEnabled": true,
  "DisableDisconnectedDeadTimer": 60,
  "InventoryStacksModifier": 1,
  "DropTableModifier_General": 1,
  "DropTableModifier_Missions": 1,
  "MaterialYieldModifier_Global": 1,
  "BloodEssenceYieldModifier": 1,
  "JournalVBloodSourceUnitMaxDistance": 25,
  "PvPVampireRespawnModifier": 1,
  "CastleMinimumDistanceInFloors": 2,
  "ClanSize": 4,
  "BloodDrainModifier": 1,
  "DurabilityDrainModifier": 1,
  "GarlicAreaStrengthModifier": 1,
  "HolyAreaStrengthModifier": 1,
  "SilverStrengthModifier": 1,
  "SunDamageModifier": 1,
  "CastleDecayRateModifier": 1,
  "CastleBloodEssenceDrainModifier": 1,
  "CastleSiegeTimer": 420,
  "CastleUnderAttackTimer": 60,
  "AnnounceSiegeWeaponSpawn": true,
  "ShowSiegeWeaponMapIcon": false,
  "BuildCostModifier": 1,
  "RecipeCostModifier": 1,
  "CraftRateModifier": 1,
  "ResearchCostModifier": 1,
  "RefinementCostModifier": 1,
  "RefinementRateModifier": 1,
  "ResearchTimeModifier": 1,
  "DismantleResourceModifier": 1,
  "ServantConvertRateModifier": 1,
  "RepairCostModifier": 1,
  "Death_DurabilityFactorLoss": 0.125,
  "Death_DurabilityLossFactorAsResources": 1,
  "StarterEquipmentId": 0,
  "StarterResourcesId": 0,
  "VBloodUnitSettings": [],
  "UnlockedAchievements": [],
  "UnlockedResearchs": [],
  "GameTimeModifiers": {
    "DayDurationInSeconds": 1080,
    "DayStartHour": 9,
    "DayStartMinute": 0,
    "DayEndHour": 17,
    "DayEndMinute": 0,
    "BloodMoonFrequency_Min": 10,
    "BloodMoonFrequency_Max": 18,
    "BloodMoonBuff": 0.2
  },
  "VampireStatModifiers": {
    "MaxHealthModifier": 1,
    "MaxEnergyModifier": 1,
    "PhysicalPowerModifier": 1,
    "SpellPowerModifier": 1,
    "ResourcePowerModifier": 1,
    "SiegePowerModifier": 1,
    "DamageReceivedModifier": 1,
    "ReviveCancelDelay": 5
  },
  "UnitStatModifiers_Global": {
    "MaxHealthModifier": 1,
    "PowerModifier": 1
  },
  "UnitStatModifiers_VBlood": {
    "MaxHealthModifier": 1,
    "PowerModifier": 1
  },
  "EquipmentStatModifiers_Global": {
    "MaxEnergyModifier": 1,
    "MaxHealthModifier": 1,
    "ResourceYieldModifier": 1,
    "PhysicalPowerModifier": 1,
    "SpellPowerModifier": 1,
    "SiegePowerModifier": 1,
    "MovementSpeedModifier": 1
  },
  "CastleStatModifiers_Global": {
    "TickPeriod": 5,
    "DamageResistance": 0,
    "SafetyBoxLimit": 1,
    "TombLimit": 12,
    "VerminNestLimit": 4,
    "PrisonCellLimit": 16,
    "PylonPenalties": {
      "Range1": {
        "Percentage": 0,
        "Lower": 0,
        "Higher": 2
      },
      "Range2": {
        "Percentage": 0,
        "Lower": 3,
        "Higher": 3
      },
      "Range3": {
        "Percentage": 0,
        "Lower": 4,
        "Higher": 4
      },
      "Range4": {
        "Percentage": 0,
        "Lower": 5,
        "Higher": 5
      },
      "Range5": {
        "Percentage": 0,
        "Lower": 6,
        "Higher": 254
      }
    },
    "FloorPenalties": {
      "Range1": {
        "Percentage": 0,
        "Lower": 0,
        "Higher": 20
      },
      "Range2": {
        "Percentage": 0,
        "Lower": 21,
        "Higher": 50
      },
      "Range3": {
        "Percentage": 0,
        "Lower": 51,
        "Higher": 80
      },
      "Range4": {
        "Percentage": 0,
        "Lower": 81,
        "Higher": 160
      },
      "Range5": {
        "Percentage": 0,
        "Lower": 161,
        "Higher": 254
      }
    },
    "HeartLimits": {
      "Level1": {
        "Level": 1,
        "FloorLimit": 40,
        "ServantLimit": 4
      },
      "Level2": {
        "Level": 2,
        "FloorLimit": 100,
        "ServantLimit": 5
      },
      "Level3": {
        "Level": 3,
        "FloorLimit": 180,
        "ServantLimit": 6
      },
      "Level4": {
        "Level": 4,
        "FloorLimit": 260,
        "ServantLimit": 7
      },
      "Level5": {
        "Level": 5,
        "FloorLimit": 420,
        "ServantLimit": 8
      }
    },
    "CastleLimit": 2
  },
  "PlayerInteractionSettings": {
    "TimeZone": "Local",
    "VSPlayerWeekdayTime": {
      "StartHour": 20,
      "StartMinute": 0,
      "EndHour": 22,
      "EndMinute": 0
    },
    "VSPlayerWeekendTime": {
      "StartHour": 20,
      "StartMinute": 0,
      "EndHour": 22,
      "EndMinute": 0
    },
    "VSCastleWeekdayTime": {
      "StartHour": 20,
      "StartMinute": 0,
      "EndHour": 22,
      "EndMinute": 0
    },
    "VSCastleWeekendTime": {
      "StartHour": 20,
      "StartMinute": 0,
      "EndHour": 22,
      "EndMinute": 0
    }
  }
}

These are the two config files the container creates at startup. I'm afraid it overrides it every time with the parameters defined in the `docker-compose` configuration. If you see a user proposed https://github.com/Didstopia/vrising-server/pull/3 to add clan settings without editing those files. N.B: I removed the passwords 🤡 `ServerHostSettings.json` ```json { "Name": "V Rising Clownfiesta Server", "Description": "V Rising server for Clownfiesta clan", "Port": 9876, "QueryPort": 9877, "MaxConnectedUsers": 100, "MaxConnectedAdmins": 100, "ServerFps": 30, "SaveName": "clownfiesta_server_1", "Password": "***", "Secure": true, "ListOnSteam": false, "ListOnEOS": false, "AutoSaveCount": 5, "AutoSaveInterval": 10, "CompressSaveFiles": true, "GameSettingsPreset": "StandardPvE", "AdminOnlyDebugEvents": true, "DisableDebugEvents": false, "API": { "Enabled": false }, "Rcon": { "Enabled": true, "Password": "***", "Port": 9878 }, "Address": "" } ``` `ServerGameSettings.json` ```json { "GameModeType": "PvE", "CastleDamageMode": "Always", "SiegeWeaponHealth": "Normal", "PlayerDamageMode": "Always", "CastleHeartDamageMode": "CanBeDestroyedByPlayers", "PvPProtectionMode": "Medium", "DeathContainerPermission": "Anyone", "RelicSpawnType": "Unique", "CanLootEnemyContainers": true, "BloodBoundEquipment": true, "TeleportBoundItems": true, "AllowGlobalChat": true, "AllWaypointsUnlocked": false, "FreeCastleClaim": false, "FreeCastleDestroy": false, "InactivityKillEnabled": true, "InactivityKillTimeMin": 3600, "InactivityKillTimeMax": 604800, "InactivityKillSafeTimeAddition": 172800, "InactivityKillTimerMaxItemLevel": 84, "DisableDisconnectedDeadEnabled": true, "DisableDisconnectedDeadTimer": 60, "InventoryStacksModifier": 1, "DropTableModifier_General": 1, "DropTableModifier_Missions": 1, "MaterialYieldModifier_Global": 1, "BloodEssenceYieldModifier": 1, "JournalVBloodSourceUnitMaxDistance": 25, "PvPVampireRespawnModifier": 1, "CastleMinimumDistanceInFloors": 2, "ClanSize": 4, "BloodDrainModifier": 1, "DurabilityDrainModifier": 1, "GarlicAreaStrengthModifier": 1, "HolyAreaStrengthModifier": 1, "SilverStrengthModifier": 1, "SunDamageModifier": 1, "CastleDecayRateModifier": 1, "CastleBloodEssenceDrainModifier": 1, "CastleSiegeTimer": 420, "CastleUnderAttackTimer": 60, "AnnounceSiegeWeaponSpawn": true, "ShowSiegeWeaponMapIcon": false, "BuildCostModifier": 1, "RecipeCostModifier": 1, "CraftRateModifier": 1, "ResearchCostModifier": 1, "RefinementCostModifier": 1, "RefinementRateModifier": 1, "ResearchTimeModifier": 1, "DismantleResourceModifier": 1, "ServantConvertRateModifier": 1, "RepairCostModifier": 1, "Death_DurabilityFactorLoss": 0.125, "Death_DurabilityLossFactorAsResources": 1, "StarterEquipmentId": 0, "StarterResourcesId": 0, "VBloodUnitSettings": [], "UnlockedAchievements": [], "UnlockedResearchs": [], "GameTimeModifiers": { "DayDurationInSeconds": 1080, "DayStartHour": 9, "DayStartMinute": 0, "DayEndHour": 17, "DayEndMinute": 0, "BloodMoonFrequency_Min": 10, "BloodMoonFrequency_Max": 18, "BloodMoonBuff": 0.2 }, "VampireStatModifiers": { "MaxHealthModifier": 1, "MaxEnergyModifier": 1, "PhysicalPowerModifier": 1, "SpellPowerModifier": 1, "ResourcePowerModifier": 1, "SiegePowerModifier": 1, "DamageReceivedModifier": 1, "ReviveCancelDelay": 5 }, "UnitStatModifiers_Global": { "MaxHealthModifier": 1, "PowerModifier": 1 }, "UnitStatModifiers_VBlood": { "MaxHealthModifier": 1, "PowerModifier": 1 }, "EquipmentStatModifiers_Global": { "MaxEnergyModifier": 1, "MaxHealthModifier": 1, "ResourceYieldModifier": 1, "PhysicalPowerModifier": 1, "SpellPowerModifier": 1, "SiegePowerModifier": 1, "MovementSpeedModifier": 1 }, "CastleStatModifiers_Global": { "TickPeriod": 5, "DamageResistance": 0, "SafetyBoxLimit": 1, "TombLimit": 12, "VerminNestLimit": 4, "PrisonCellLimit": 16, "PylonPenalties": { "Range1": { "Percentage": 0, "Lower": 0, "Higher": 2 }, "Range2": { "Percentage": 0, "Lower": 3, "Higher": 3 }, "Range3": { "Percentage": 0, "Lower": 4, "Higher": 4 }, "Range4": { "Percentage": 0, "Lower": 5, "Higher": 5 }, "Range5": { "Percentage": 0, "Lower": 6, "Higher": 254 } }, "FloorPenalties": { "Range1": { "Percentage": 0, "Lower": 0, "Higher": 20 }, "Range2": { "Percentage": 0, "Lower": 21, "Higher": 50 }, "Range3": { "Percentage": 0, "Lower": 51, "Higher": 80 }, "Range4": { "Percentage": 0, "Lower": 81, "Higher": 160 }, "Range5": { "Percentage": 0, "Lower": 161, "Higher": 254 } }, "HeartLimits": { "Level1": { "Level": 1, "FloorLimit": 40, "ServantLimit": 4 }, "Level2": { "Level": 2, "FloorLimit": 100, "ServantLimit": 5 }, "Level3": { "Level": 3, "FloorLimit": 180, "ServantLimit": 6 }, "Level4": { "Level": 4, "FloorLimit": 260, "ServantLimit": 7 }, "Level5": { "Level": 5, "FloorLimit": 420, "ServantLimit": 8 } }, "CastleLimit": 2 }, "PlayerInteractionSettings": { "TimeZone": "Local", "VSPlayerWeekdayTime": { "StartHour": 20, "StartMinute": 0, "EndHour": 22, "EndMinute": 0 }, "VSPlayerWeekendTime": { "StartHour": 20, "StartMinute": 0, "EndHour": 22, "EndMinute": 0 }, "VSCastleWeekdayTime": { "StartHour": 20, "StartMinute": 0, "EndHour": 22, "EndMinute": 0 }, "VSCastleWeekendTime": { "StartHour": 20, "StartMinute": 0, "EndHour": 22, "EndMinute": 0 } } } ```
1.8 KiB
polpetta force-pushed vrising from 4f7a805db3 to 582b694c4d 2023-05-22 17:36:31 +02:00 Compare

Need "TeleportBoundItems": false and maybe "RepairCostModifier": 0.

Need `"TeleportBoundItems": false ` and maybe `"RepairCostModifier": 0`.

"GameModeType": "PvE" -> "GameModeType": "PvP" for pvp enjoyers

`"GameModeType": "PvE"` -> `"GameModeType": "PvP"` for pvp enjoyers
Poster
Owner

"GameModeType": "PvE" -> "GameModeType": "PvP" for pvp enjoyers

So this is the new config after I changed V_RISING_SERVER_GAME_SETTINGS_PRESET from StandardPvE to StandardPvP. I think it generates the configuration at the beginning and then it uses the same one (if you check, only ServerHostSettings.json got overwritten).

I'll try to manually change ServerGameSettings.json and I'll report here the behavior.

> `"GameModeType": "PvE"` -> `"GameModeType": "PvP"` for pvp enjoyers So this is the new config after I changed `V_RISING_SERVER_GAME_SETTINGS_PRESET` from `StandardPvE` to `StandardPvP`. I think it generates the configuration at the beginning and then it uses the same one (if you check, only `ServerHostSettings.json` got overwritten). I'll try to manually change `ServerGameSettings.json` and I'll report here the behavior.
1.8 KiB
Poster
Owner

Ok so after a restart I saw the following behavior: only some of the fields in ServerGameSettings.json are overwritten, like GameModeType, while the other are kept the way I modified it. It probably means that some of the fields are regenerated by the container entrypoint (?) while the other are kept vanilla.

Ok so after a restart I saw the following behavior: only some of the fields in `ServerGameSettings.json` are overwritten, like `GameModeType`, while the other are kept the way I modified it. It probably means that some of the fields are regenerated by the container entrypoint (?) while the other are kept vanilla.
polpetta added 1 commit 2023-05-23 09:34:36 +02:00
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
3805b6e861
feat: switch to PvP mode

Need "TeleportBoundItems": false and maybe "RepairCostModifier": 0.

It's better to set "DurabilityDrainModifier" to 0 so the gear doesn't break at all instead of having 0 repair costs

> Need `"TeleportBoundItems": false ` and maybe `"RepairCostModifier": 0`. > It's better to set "DurabilityDrainModifier" to 0 so the gear doesn't break at all instead of having 0 repair costs
Poster
Owner

It's better to set "DurabilityDrainModifier" to 0 so the gear doesn't break at all instead of having 0 repair costs

I've updated the value and restarted the service. In the next days I'll provide a way to edit the JSON also for you guys

> It's better to set "DurabilityDrainModifier" to 0 so the gear doesn't break at all instead of having 0 repair costs I've updated the value and restarted the service. In the next days I'll provide a way to edit the JSON also for you guys
polpetta added 1 commit 2023-05-25 10:19:47 +02:00
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
b466024001
feat: add shell for vrising server editing
polpetta added 1 commit 2023-05-25 10:54:51 +02:00
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
15ce6246fe
fix: avoid closing connection when SIGINT
polpetta added 1 commit 2023-05-25 10:59:07 +02:00
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
c47158ee88
fix: explicitly ignore SIGINT signal
polpetta added 1 commit 2023-05-25 11:13:40 +02:00
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
c3cfd99f17
fix: add log, set handler for SIGINT
polpetta added 1 commit 2023-05-25 11:18:02 +02:00
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
9ebb0a056d
fix: set right path for log, update output
polpetta added 1 commit 2023-05-25 11:35:46 +02:00
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
6c1f36bef9
feat: add possibility to edit docker-compose
polpetta added 1 commit 2023-05-25 11:41:18 +02:00
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
f34b13b347
chore: minor clean up
polpetta added 1 commit 2023-05-27 13:19:02 +02:00
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
bfae98946a
Merge branch 'master' into vrising
Poster
Owner

Closing this since we don't need it anymore

Closing this since we don't need it anymore
polpetta closed this pull request 2023-05-27 13:19:28 +02:00
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Required
Details

Pull request closed

Sign in to join this conversation.
No reviewers
No Milestone
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: polpetta/server-dotfiles#22
There is no content yet.