diff --git a/Dockerfile b/Dockerfile index 35fe477..139f54f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,20 @@ FROM clearlinux:latest RUN swupd update -RUN swupd bundle-add x11-sever libarchive wget wine +RUN swupd bundle-add x11-server libarchive wget wine RUN mkdir -p /root/.wine/drive_c/steamcmd RUN mkdir -p /root/.wine/drive_c/users/root/AppData/LocalLow/'Stunlock Studios'/VRisingServer/Settings RUN wget -qO- https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip | bsdtar -xvf- -C /root/.wine/drive_c/steamcmd/ -RUN cd /root/.wine/drive_c/steamcmd/ -RUN winecfg -RUN wine steamcmd.exe +force_install_dir "C:\VRisingServer" +login anonymous +app_update 1829350 validate +quit -RUN cd /root/.wine/drive_c/vrisingserver/ -RUN xfvb-run wine VRisingServer.exe \ No newline at end of file + +COPY ./init.sh / +RUN chmod +x /init.sh +RUN bash /init.sh || : + +COPY ./config/ServerGameSettings.json /root/.wine/drive_c/vrisingserver/VRisingServer_Data/StreamingAssets/Settings/ +COPY ./config/ServerHostSettings.json /root/.wine/drive_c/vrisingserver/VRisingServer_Data/StreamingAssets/Settings/ + +COPY ./start.sh / +RUN chmod +x /start.sh + +EXPOSE 27015/udp +EXPOSE 27016/udp \ No newline at end of file diff --git a/config/ServerGameSettings.json b/config/ServerGameSettings.json new file mode 100644 index 0000000..5f6aacc --- /dev/null +++ b/config/ServerGameSettings.json @@ -0,0 +1,210 @@ +{ + "GameModeType": "PvP", + "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.0, + "DropTableModifier_General": 1.0, + "DropTableModifier_Missions": 1.0, + "MaterialYieldModifier_Global": 1.0, + "BloodEssenceYieldModifier": 1.0, + "JournalVBloodSourceUnitMaxDistance": 25.0, + "PvPVampireRespawnModifier": 1.0, + "CastleMinimumDistanceInFloors": 2, + "ClanSize": 4, + "BloodDrainModifier": 1.0, + "DurabilityDrainModifier": 1.0, + "GarlicAreaStrengthModifier": 1.0, + "HolyAreaStrengthModifier": 1.0, + "SilverStrengthModifier": 1.0, + "SunDamageModifier": 1.0, + "CastleDecayRateModifier": 1.0, + "CastleBloodEssenceDrainModifier": 1.0, + "CastleSiegeTimer": 420.0, + "CastleUnderAttackTimer": 60.0, + "AnnounceSiegeWeaponSpawn": true, + "ShowSiegeWeaponMapIcon": true, + "BuildCostModifier": 1.0, + "RecipeCostModifier": 1.0, + "CraftRateModifier": 1.0, + "ResearchCostModifier": 1.0, + "RefinementCostModifier": 1.0, + "RefinementRateModifier": 1.0, + "ResearchTimeModifier": 1.0, + "DismantleResourceModifier": 0.75, + "ServantConvertRateModifier": 1.0, + "RepairCostModifier": 1.0, + "Death_DurabilityFactorLoss": 0.25, + "Death_DurabilityLossFactorAsResources": 1.0, + "StarterEquipmentId": 0, + "StarterResourcesId": 0, + "VBloodUnitSettings": [], + "UnlockedAchievements": [], + "UnlockedResearchs": [], + "GameTimeModifiers": { + "DayDurationInSeconds": 1080.0, + "DayStartHour": 9, + "DayStartMinute": 0, + "DayEndHour": 17, + "DayEndMinute": 0, + "BloodMoonFrequency_Min": 10, + "BloodMoonFrequency_Max": 18, + "BloodMoonBuff": 0.2 + }, + "VampireStatModifiers": { + "MaxHealthModifier": 1.0, + "MaxEnergyModifier": 1.0, + "PhysicalPowerModifier": 1.0, + "SpellPowerModifier": 1.0, + "ResourcePowerModifier": 1.0, + "SiegePowerModifier": 1.0, + "DamageReceivedModifier": 1.0, + "ReviveCancelDelay": 5.0 + }, + "UnitStatModifiers_Global": { + "MaxHealthModifier": 1.0, + "PowerModifier": 1.0 + }, + "UnitStatModifiers_VBlood": { + "MaxHealthModifier": 1.0, + "PowerModifier": 1.0 + }, + "EquipmentStatModifiers_Global": { + "MaxEnergyModifier": 1.0, + "MaxHealthModifier": 1.0, + "ResourceYieldModifier": 1.0, + "PhysicalPowerModifier": 1.0, + "SpellPowerModifier": 1.0, + "SiegePowerModifier": 1.0, + "MovementSpeedModifier": 1.0 + }, + "CastleStatModifiers_Global": { + "TickPeriod": 5.0, + "DamageResistance": 0.0, + "SafetyBoxLimit": 1, + "TombLimit": 12, + "VerminNestLimit": 4, + "PylonPenalties": { + "Range1": { + "Percentage": 0.0, + "Lower": 0, + "Higher": 2 + }, + "Range2": { + "Percentage": 0.0, + "Lower": 3, + "Higher": 3 + }, + "Range3": { + "Percentage": 0.0, + "Lower": 4, + "Higher": 4 + }, + "Range4": { + "Percentage": 0.0, + "Lower": 5, + "Higher": 5 + }, + "Range5": { + "Percentage": 0.0, + "Lower": 6, + "Higher": 254 + } + }, + "FloorPenalties": { + "Range1": { + "Percentage": 0.0, + "Lower": 0, + "Higher": 20 + }, + "Range2": { + "Percentage": 0.0, + "Lower": 21, + "Higher": 50 + }, + "Range3": { + "Percentage": 0.0, + "Lower": 51, + "Higher": 80 + }, + "Range4": { + "Percentage": 0.0, + "Lower": 81, + "Higher": 160 + }, + "Range5": { + "Percentage": 0.0, + "Lower": 161, + "Higher": 254 + } + }, + "HeartLimits": { + "Level1": { + "Level": 1, + "FloorLimit": 30, + "ServantLimit": 3 + }, + "Level2": { + "Level": 2, + "FloorLimit": 80, + "ServantLimit": 5 + }, + "Level3": { + "Level": 3, + "FloorLimit": 150, + "ServantLimit": 7 + }, + "Level4": { + "Level": 4, + "FloorLimit": 250, + "ServantLimit": 9 + } + }, + "CastleLimit": 2 + }, + "PlayerInteractionSettings": { + "TimeZone": "Local", + "VSPlayerWeekdayTime": { + "StartHour": 17, + "StartMinute": 0, + "EndHour": 23, + "EndMinute": 0 + }, + "VSPlayerWeekendTime": { + "StartHour": 17, + "StartMinute": 0, + "EndHour": 23, + "EndMinute": 0 + }, + "VSCastleWeekdayTime": { + "StartHour": 17, + "StartMinute": 0, + "EndHour": 23, + "EndMinute": 0 + }, + "VSCastleWeekendTime": { + "StartHour": 17, + "StartMinute": 0, + "EndHour": 23, + "EndMinute": 0 + } + } +} \ No newline at end of file diff --git a/config/ServerHostSettings.json b/config/ServerHostSettings.json new file mode 100644 index 0000000..6185c27 --- /dev/null +++ b/config/ServerHostSettings.json @@ -0,0 +1,18 @@ +{ + "Name": "Hangout Excuse", + "Description": "A great reason to hangout and what not", + "Port": 27015, + "QueryPort": 27016, + "MaxConnectedUsers": 40, + "MaxConnectedAdmins": 4, + "ServerFps": 30, + "SaveName": "world1", + "Password": "gahthefrench", + "Secure": true, + "ListOnMasterServer": true, + "AutoSaveCount": 50, + "AutoSaveInterval": 600, + "GameSettingsPreset": "", + "AdminOnlyDebugEvents": true, + "DisableDebugEvents": false +} \ No newline at end of file diff --git a/init.sh b/init.sh new file mode 100644 index 0000000..bb1ea4c --- /dev/null +++ b/init.sh @@ -0,0 +1,2 @@ +winecfg +wine /root/.wine/drive_c/steamcmd/steamcmd.exe +force_install_dir "C:\VRisingServer" +login anonymous +app_update 1829350 validate +quit \ No newline at end of file diff --git a/start.sh b/start.sh new file mode 100644 index 0000000..8e001f0 --- /dev/null +++ b/start.sh @@ -0,0 +1 @@ +xvfb-run wine /root/.wine/drive_c/vrisingserver/VRisingServer.exe \ No newline at end of file