From 7bab9fd2fac374d2fa9bcf43c845a7f471d8a45b Mon Sep 17 00:00:00 2001 From: Eric Meehan Date: Thu, 11 Sep 2025 21:48:23 -0400 Subject: [PATCH] Functional --- defaults/.main.yml.kate-swp | Bin 15843 -> 0 bytes defaults/main.yml | 351 +++++++++++++++++++++++++++++++++ tasks/main.yml | 5 - templates/serverconfig.json.j2 | 4 +- 4 files changed, 353 insertions(+), 7 deletions(-) delete mode 100644 defaults/.main.yml.kate-swp diff --git a/defaults/.main.yml.kate-swp b/defaults/.main.yml.kate-swp deleted file mode 100644 index 61297096e03d3ae33ad9cc52040311f993142dc1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15843 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 diff --git a/defaults/main.yml b/defaults/main.yml index 8eac0b1..024187c 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,3 +1,354 @@ #SPDX-License-Identifier: MIT-0 --- # defaults file for ansible-role-vintage-story +FileEditWarning: '' +ConfigVersion: '1.8' +ServerName: Vintage Story 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 +MaxClientsInQueue: 0 +PassTimeWhenEmpty: false +MasterserverUrl: 'http://masterserver.vintagestory.at/api/v1/servers/' +ModDbUrl: 'https://mods.vintagestory.at/' +ClientConnectionTimeout: 150 +EntityDebugMode: false +Password: null +MapSizeX: 1024000 +MapSizeY: 256 +MapSizeZ: 1024000 +ServerLanguage: en +MaxChunkRadius: 12 +TickTime: 33.333332 +SpawnCapPlayerScaling: 0.5 +BlockTickChunkRange: 5 +MaxMainThreadBlockTicks: 10000 +RandomBlockTicksPerChunk: 16 +BlockTickInterval: 300 +SkipEveryChunkRow: 0 +SkipEveryChunkRowWidth: 0 +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, fly 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 an + 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 + RuntimePrivileges: [] + DefaultGameMode: 1 + Color: LightBlue + LandClaimAllowance: 2147483647 + LandClaimMinSize: + X: 5 + 'Y': 5 + Z: 5 + LandClaimMaxAreas: 99999 + AutoGrant: true +DefaultRoleCode: suplayer +ModPaths: + - Mods + - /gamedata/vs/Mods +AntiAbuse: 0 +WorldConfig: + Seed: null + SaveFileLocation: /gamedata/vs/Saves/default.vcdbs + WorldName: A new world + AllowCreativeMode: true + PlayStyle: surviveandbuild + PlayStyleLangCode: surviveandbuild-bands + WorldType: standard + WorldConfiguration: null + MapSizeY: null + CreatedByPlayerName: null + DisabledMods: null + RepairMode: false +NextPlayerGroupUid: 10 +GroupChatHistorySize: 20 +MaxOwnedGroupChannelsPerUser: 10 +OnlyWhitelisted: false +WhitelistMode: 0 +VerifyPlayerAuth: true +DefaultSpawn: null +AllowPvP: true +AllowFireSpread: true +AllowFallingBlocks: true +HostedMode: false +HostedModeAllowMods: false +StartupCommands: null +RepairMode: false +AnalyzeMode: false +CorruptionProtection: true +RegenerateCorruptChunks: false +ChatRateLimitMs: 1000 +DieBelowDiskSpaceMb: 400 +ModIdBlackList: null +ModIdWhiteList: null +ServerIdentifier: a617d619-b910-41fb-827b-a6a748b78b7b +LogBlockBreakPlace: false +LogFileSplitAfterLine: 500000 +DieAboveErrorCount: 100000 +LoginFloodProtection: false +TemporaryIpBlockList: false +DisableModSafetyCheck: false +DieAboveMemoryUsageMb: 50000 diff --git a/tasks/main.yml b/tasks/main.yml index 903c0fc..d38a664 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -50,8 +50,6 @@ volumeMounts: - name: data mountPath: /gamedata - - name: config - mountPath: /gamedata/vs/serverconfig.json imagePullPolicy: IfNotPresent ports: - containerPort: 42420 @@ -59,9 +57,6 @@ - name: data persistentVolumeClaim: claimName: data - - name: config - configMap: - name: config - name: Create Service for Vintage Story k8s: diff --git a/templates/serverconfig.json.j2 b/templates/serverconfig.json.j2 index 1c35799..4655f80 100644 --- a/templates/serverconfig.json.j2 +++ b/templates/serverconfig.json.j2 @@ -1,7 +1,7 @@ { "FileEditWarning": "", "ConfigVersion": "1.8", - "ServerName": "{{ server_name }}", + "ServerName": "Vintage Story Server on eom.dev", "ServerUrl": null, "ServerDescription": null, "WelcomeMessage": "Welcome {0}, may you survive well and prosper", @@ -355,7 +355,7 @@ "AllowFallingBlocks": true, "HostedMode": false, "HostedModeAllowMods": false, - "StartupCommands": null, + "StartupCommands": "/whitelist add 3wm/diYjPGuydHNvOd6H0fDy", "RepairMode": false, "AnalyzeMode": false, "CorruptionProtection": true,