Set up Ansible role
This commit is contained in:
parent
5af8eeef90
commit
8fac62be42
BIN
defaults/.main.yml.kate-swp
Normal file
BIN
defaults/.main.yml.kate-swp
Normal file
Binary file not shown.
3
defaults/main.yml
Normal file
3
defaults/main.yml
Normal file
@ -0,0 +1,3 @@
|
||||
#SPDX-License-Identifier: MIT-0
|
||||
---
|
||||
# defaults file for ansible-role-vintage-story
|
3
handlers/main.yml
Normal file
3
handlers/main.yml
Normal file
@ -0,0 +1,3 @@
|
||||
#SPDX-License-Identifier: MIT-0
|
||||
---
|
||||
# handlers file for ansible-role-vintage-story
|
35
meta/main.yml
Normal file
35
meta/main.yml
Normal file
@ -0,0 +1,35 @@
|
||||
#SPDX-License-Identifier: MIT-0
|
||||
galaxy_info:
|
||||
author: your name
|
||||
description: your role description
|
||||
company: your company (optional)
|
||||
|
||||
# If the issue tracker for your role is not on github, uncomment the
|
||||
# next line and provide a value
|
||||
# issue_tracker_url: http://example.com/issue/tracker
|
||||
|
||||
# Choose a valid license ID from https://spdx.org - some suggested licenses:
|
||||
# - BSD-3-Clause (default)
|
||||
# - MIT
|
||||
# - GPL-2.0-or-later
|
||||
# - GPL-3.0-only
|
||||
# - Apache-2.0
|
||||
# - CC-BY-4.0
|
||||
license: license (GPL-2.0-or-later, MIT, etc)
|
||||
|
||||
min_ansible_version: 2.1
|
||||
|
||||
# If this a Container Enabled role, provide the minimum Ansible Container version.
|
||||
# min_ansible_container_version:
|
||||
|
||||
galaxy_tags: []
|
||||
# List tags for your role here, one per line. A tag is a keyword that describes
|
||||
# and categorizes the role. Users find roles by searching for tags. Be sure to
|
||||
# remove the '[]' above, if you add tags to this list.
|
||||
#
|
||||
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
|
||||
# Maximum 20 tags per role.
|
||||
|
||||
dependencies: []
|
||||
# List your role dependencies here, one per line. Be sure to remove the '[]' above,
|
||||
# if you add dependencies to this list.
|
81
tasks/main.yml
Normal file
81
tasks/main.yml
Normal file
@ -0,0 +1,81 @@
|
||||
#SPDX-License-Identifier: MIT-0
|
||||
---
|
||||
# tasks file for ansible-role-vintage-story
|
||||
- name: Create Vintage Story namespace
|
||||
k8s:
|
||||
state: present
|
||||
definition:
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: vintage-story
|
||||
|
||||
- name: Create a persistent volume claim
|
||||
k8s:
|
||||
state: present
|
||||
definition:
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: data
|
||||
namespace: vintage-story
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 32Gi
|
||||
|
||||
- name: Create Deployment for Vintage Story
|
||||
k8s:
|
||||
definition:
|
||||
apiVersion: v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: vintage-story
|
||||
namespace: vintage-story
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: vintage-story
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: vintage-story
|
||||
spec:
|
||||
containers:
|
||||
- name: vintage-story
|
||||
image: devidian/vintagestory
|
||||
volumeMounts:
|
||||
- name: data
|
||||
mountPath: /gamedata
|
||||
- name: config
|
||||
mountPath: /gamedata/vs/serverconfig.json
|
||||
imagePullPolicy: IfNotPresent
|
||||
ports:
|
||||
- containerPort: 42420
|
||||
volumes:
|
||||
- name: data
|
||||
persistentVolumeClaim:
|
||||
claimName: data
|
||||
- name: config
|
||||
configMap:
|
||||
name: config
|
||||
|
||||
- name: Create Service for Vintage Story
|
||||
k8s:
|
||||
definition:
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: vintage-story
|
||||
namespace: vintage-story
|
||||
spec:
|
||||
selector:
|
||||
app: vintage-story
|
||||
ports:
|
||||
- port: 42420
|
||||
name: http
|
||||
type: LoadBalancer
|
||||
|
375
templates/serverconfig.json.j2
Normal file
375
templates/serverconfig.json.j2
Normal file
@ -0,0 +1,375 @@
|
||||
{
|
||||
"FileEditWarning": "",
|
||||
"ConfigVersion": "1.8",
|
||||
"ServerName": "{{ server_name }}",
|
||||
"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
|
||||
}
|
3
tests/inventory
Normal file
3
tests/inventory
Normal file
@ -0,0 +1,3 @@
|
||||
#SPDX-License-Identifier: MIT-0
|
||||
localhost
|
||||
|
6
tests/test.yml
Normal file
6
tests/test.yml
Normal file
@ -0,0 +1,6 @@
|
||||
#SPDX-License-Identifier: MIT-0
|
||||
---
|
||||
- hosts: localhost
|
||||
remote_user: root
|
||||
roles:
|
||||
- ansible-role-vintage-story
|
3
vars/main.yml
Normal file
3
vars/main.yml
Normal file
@ -0,0 +1,3 @@
|
||||
#SPDX-License-Identifier: MIT-0
|
||||
---
|
||||
# vars file for ansible-role-vintage-story
|
Loading…
Reference in New Issue
Block a user