From d1a3211d810aa21f349de9d572a784143df0b7c4 Mon Sep 17 00:00:00 2001 From: Filipe Souza Date: Sun, 28 Jan 2024 15:11:03 -0300 Subject: [PATCH 1/5] - Added support to the new server environment variables; --- .gitignore | 3 ++- charts/palworld/Chart.yaml | 4 ++-- charts/palworld/VALUES_SUMMARY.md | 12 ++++++++---- charts/palworld/templates/configmaps.yaml | 8 +++++++- charts/palworld/values.yaml | 14 ++++++++++++++ 5 files changed, 33 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 036b533..d65ba47 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ palworld .idea -!charts/* \ No newline at end of file +!charts/* +values*.yaml \ No newline at end of file diff --git a/charts/palworld/Chart.yaml b/charts/palworld/Chart.yaml index 93aea06..50d9ee1 100644 --- a/charts/palworld/Chart.yaml +++ b/charts/palworld/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: palworld -version: 0.0.1 -description: This chart can provide an rAthena emulator installation on a Kubernetes cluster. +version: 0.0.2 +description: This chart will provide a Palworld server installation on a kubernetes cluster. type: application keywords: - palworld diff --git a/charts/palworld/VALUES_SUMMARY.md b/charts/palworld/VALUES_SUMMARY.md index 49d3222..dd4b18e 100644 --- a/charts/palworld/VALUES_SUMMARY.md +++ b/charts/palworld/VALUES_SUMMARY.md @@ -1,10 +1,8 @@ # palworld -![Version: 0.0.0](https://img.shields.io/badge/Version-0.0.0-informational) -![Type: application](https://img.shields.io/badge/Type-application-informational) -![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational) +![Version: 0.0.2](https://img.shields.io/badge/Version-0.0.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) -This chart can provide an rAthena emulator installation on a Kubernetes cluster. +This chart will provide a Palworld server installation on a kubernetes cluster. **Homepage:** @@ -32,11 +30,16 @@ This chart can provide an rAthena emulator installation on a Kubernetes cluster. | server.config.labels | object | `{}` | Additional labels to the resources | | server.config.max_players | int | `16` | The max number of players supported. | | server.config.multithreading | bool | `true` | Enables the multithreading, allowing the usage of up to 4 cores (needs citation) | +| server.config.public_ip | string | `""` | You can manually specify the global IP address of the network on which the server running. If not specified, it will be detected automatically. If it does not work well, try manual configuration. | +| server.config.public_port | string | `""` | You can manually specify the port number of the network on which the server running. If not specified, it will be detected automatically. If it does not work well, try manual configuration. | | server.config.query_port | string | `27015` | The query port of the game. | | server.config.rcon | dict | | Remote connection configuration. Allows the remote connection and management for the server. Those are directly connected with the container image, providing multiple environment variables to the scripts. | | server.config.rcon.enable | bool | `true` | Enables/disables the rcon port. | | server.config.rcon.password | string | `""` | If not provided, a random password will be generated and stored on the secret. | | server.config.rcon.port | string | `25575` | The port for rcon. If you change this, make sure to change the service.ports and server.ports accordingly. | +| server.config.server_description | string | `""` | Your server description to be shown in game | +| server.config.timezone | string | `"UTC"` | The timezone used for time stamping backup server. Use the IANA TZ format with Area/Location See the [list of TZ database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#Time_Zone_abbreviations) | +| server.config.update_on_boot | string | `true` | Update/Install the server when the container starts. THIS HAS TO BE ENABLED THE FIRST TIME YOU RUN THE CONTAINER | | server.image | dict | | Define the parameters for the server image container | | server.image.imagePullPolicy | string | `"IfNotPresent"` | Define the pull policy for the server image. | | server.image.name | string | `"thijsvanloef/palworld-server-docker"` | Name of the image, without the tag. | @@ -63,6 +66,7 @@ This chart can provide an rAthena emulator installation on a Kubernetes cluster. | server.storage.preventDelete | bool | `false` | Keeps helm from deleting the PVC. By default, helm does not delete pvcs. | | server.storage.size | string | `"12Gi"` | The size of the pvc storage. | | server.storage.storageClassName | string | `""` | The storage class name. | +| server.strategy | string | `"Recreate"` | Change the deployment strategy | ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.12.0](https://github.com/norwoodj/helm-docs/releases/v1.12.0) diff --git a/charts/palworld/templates/configmaps.yaml b/charts/palworld/templates/configmaps.yaml index e53158a..71b3967 100644 --- a/charts/palworld/templates/configmaps.yaml +++ b/charts/palworld/templates/configmaps.yaml @@ -37,4 +37,10 @@ data: SERVER_NAME: {{ regexReplaceAll "\\W+" .Values.server.config.server_name "_" }} {{ else }} SERVER_NAME: {{ printf "%s_%s" "palworld" (randAlphaNum 6 | nospace) }} - {{ end }} \ No newline at end of file + {{ end }} + TZ: {{ .Values.server.config.timezone }} + PUBLIC_IP: {{ .Values.server.config.public_ip | quote }} + PUBLIC_PORT: {{ .Values.server.config.public_port | quote }} + SERVER_DESCRIPTION: {{ .Values.server.config.server_description }} + UPDATE_ON_BOOT: {{ .Values.server.config.update_on_boot | quote }} + QUERY_PORT: {{ .Values.server.config.query_port | quote }} \ No newline at end of file diff --git a/charts/palworld/values.yaml b/charts/palworld/values.yaml index 955d343..02a24fb 100644 --- a/charts/palworld/values.yaml +++ b/charts/palworld/values.yaml @@ -137,3 +137,17 @@ server: password: "" # -- (string) If not provided, a random server name will be generated with the "palworld_" prefix. server_name: "" + # -- (string) The timezone used for time stamping backup server. Use the IANA TZ format with Area/Location + # See the [list of TZ database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#Time_Zone_abbreviations) + timezone: "UTC" + # -- (string) You can manually specify the global IP address of the network on which the server running. + # If not specified, it will be detected automatically. If it does not work well, try manual configuration. + public_ip: "" + # -- (string) You can manually specify the port number of the network on which the server running. + # If not specified, it will be detected automatically. If it does not work well, try manual configuration. + public_port: "" + # -- (string) Your server description to be shown in game + server_description: "" + # -- (string) Update/Install the server when the container starts. + # THIS HAS TO BE ENABLED THE FIRST TIME YOU RUN THE CONTAINER + update_on_boot: true From e06c0179022fe5a09511c1551d55ccb530076862 Mon Sep 17 00:00:00 2001 From: Filipe Souza Date: Sun, 28 Jan 2024 16:39:48 -0300 Subject: [PATCH 2/5] - Updated chart to support the world game parameters; - Bumped chart version to 0.0.2; --- charts/palworld/templates/configmaps.yaml | 7 ++- charts/palworld/values.yaml | 53 +++++++++++++++++++++++ 2 files changed, 59 insertions(+), 1 deletion(-) diff --git a/charts/palworld/templates/configmaps.yaml b/charts/palworld/templates/configmaps.yaml index 71b3967..58cfd91 100644 --- a/charts/palworld/templates/configmaps.yaml +++ b/charts/palworld/templates/configmaps.yaml @@ -43,4 +43,9 @@ data: PUBLIC_PORT: {{ .Values.server.config.public_port | quote }} SERVER_DESCRIPTION: {{ .Values.server.config.server_description }} UPDATE_ON_BOOT: {{ .Values.server.config.update_on_boot | quote }} - QUERY_PORT: {{ .Values.server.config.query_port | quote }} \ No newline at end of file + QUERY_PORT: {{ .Values.server.config.query_port | quote }} + {{ if .Values.server.config.world_parameters }} + {{- with .Values.server.config.world_parameters }} + {{- toYaml . | nindent 2 }} + {{- end }} + {{ end }} \ No newline at end of file diff --git a/charts/palworld/values.yaml b/charts/palworld/values.yaml index 02a24fb..0dbf519 100644 --- a/charts/palworld/values.yaml +++ b/charts/palworld/values.yaml @@ -151,3 +151,56 @@ server: # -- (string) Update/Install the server when the container starts. # THIS HAS TO BE ENABLED THE FIRST TIME YOU RUN THE CONTAINER update_on_boot: true + world_parameters: + DAYTIME_SPEEDRATE: "1.000000" + NIGHTTIME_SPEEDRATE: "1.000000" + EXP_RATE: "1.000000" + PAL_CAPTURE_RATE: "1.000000" + PAL_SPAWN_NUM_RATE: "1.000000" + PAL_DAMAGE_RATE_ATTACK: "1.000000" + PAL_DAMAGE_RATE_DEFENSE: "1.000000" + PLAYER_DAMAGE_RATE_ATTACK: "1.000000" + PLAYER_DAMAGE_RATE_DEFENSE: "1.000000" + PLAYER_STOMACH_DECREASE_RATE: "1.000000" + PLAYER_STAMINA_DECREASE_RATE: "1.000000" + PLAYER_AUTO_HP_REGEN_RATE: "1.000000" + PLAYER_AUTO_HP_REGEN_RATE_IN_SLEEP: "1.000000" + PAL_STOMACH_DECREASE_RATE: "1.000000" + PAL_STAMINA_DECREASE_RATE: "1.000000" + PAL_AUTO_HP_REGEN_RATE: "1.000000" + PAL_AUTO_HP_REGEN_RATE_IN_SLEEP: "1.000000" + BUILD_OBJECT_DAMAGE_RATE: "1.000000" + BUILD_OBJECT_DETERIORATION_DAMAGE_RATE: "1.000000" + COLLECTION_DROP_RATE: "1.000000" + COLLECTION_OBJECT_HP_RATE: "1.000000" + COLLECTION_OBJECT_RESPAWN_SPEED_RATE: "1.000000" + ENEMY_DROP_ITEM_RATE: "1.000000" + DEATH_PENALTY: "All" + ENABLE_PLAYER_TO_PLAYER_DAMAGE: "False" + ENABLE_FRIENDLY_FIRE: "False" + ENABLE_INVADER_ENEMY: "True" + ACTIVE_UNKO: "True" + ENABLE_AIM_ASSIST_PAD: "True" + ENABLE_AIM_ASSIST_KEYBOARD: "False" + DROP_ITEM_MAX_NUM: "3000" + DROP_ITEM_MAX_NUM_UNKO: "1000" + BASE_CAMP_MAX_NUM: "128" + BASE_CAMP_WORKER_MAXNUM: "15" + DROP_ITEM_ALIVE_MAX_HOURS: "1.000000" + AUTO_RESET_GUILD_NO_ONLINE_PLAYERS: "False" + AUTO_RESET_GUILD_TIME_NO_ONLINE_PLAYERS: "72.000000" + GUILD_PLAYER_MAX_NUM: "3" + PAL_EGG_DEFAULT_HATCHING_TIME: "72.000000" + WORK_SPEED_RATE: "1.000000" + IS_MULTIPLAY: "False" + IS_PVP: "False" + CAN_PICKUP_OTHER_GUILD_DEATH_PENALTY_DROP: "False" + ENABLE_NON_LOGIN_PENALTY: "True" + ENABLE_FAST_TRAVEL: "True" + IS_START_LOCATION_SELECT_BY_MAP: "True" + EXIST_PLAYER_AFTER_LOGOUT: "False" + ENABLE_DEFENSE_OTHER_GUILD_PLAYER: "False" + COOP_PLAYER_MAX_NUM: "4" + REGION: "" + USEAUTH: "True" + BAN_LIST_URL: "https://api.palworldgame.com/api/banlist.txt" From 65a7b2cf85d0fb22fdec699e936527a657900b50 Mon Sep 17 00:00:00 2001 From: Filipe Souza Date: Sun, 28 Jan 2024 17:20:43 -0300 Subject: [PATCH 3/5] - Updated the values summary; --- charts/palworld/VALUES_SUMMARY.md | 1 + charts/palworld/values.yaml | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/charts/palworld/VALUES_SUMMARY.md b/charts/palworld/VALUES_SUMMARY.md index dd4b18e..e8b5a68 100644 --- a/charts/palworld/VALUES_SUMMARY.md +++ b/charts/palworld/VALUES_SUMMARY.md @@ -40,6 +40,7 @@ This chart will provide a Palworld server installation on a kubernetes cluster. | server.config.server_description | string | `""` | Your server description to be shown in game | | server.config.timezone | string | `"UTC"` | The timezone used for time stamping backup server. Use the IANA TZ format with Area/Location See the [list of TZ database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#Time_Zone_abbreviations) | | server.config.update_on_boot | string | `true` | Update/Install the server when the container starts. THIS HAS TO BE ENABLED THE FIRST TIME YOU RUN THE CONTAINER | +| server.config.world_parameters | object | | Configures the game world settings. The key:values here should represent in game accepted values. Wrap all values with quotes here to avoid validation issues. | | server.image | dict | | Define the parameters for the server image container | | server.image.imagePullPolicy | string | `"IfNotPresent"` | Define the pull policy for the server image. | | server.image.name | string | `"thijsvanloef/palworld-server-docker"` | Name of the image, without the tag. | diff --git a/charts/palworld/values.yaml b/charts/palworld/values.yaml index 0dbf519..4f37074 100644 --- a/charts/palworld/values.yaml +++ b/charts/palworld/values.yaml @@ -151,6 +151,10 @@ server: # -- (string) Update/Install the server when the container starts. # THIS HAS TO BE ENABLED THE FIRST TIME YOU RUN THE CONTAINER update_on_boot: true + # -- (object) Configures the game world settings. + # The key:values here should represent in game accepted values. + # Wrap all values with quotes here to avoid validation issues. + # @notationType -- bigValue world_parameters: DAYTIME_SPEEDRATE: "1.000000" NIGHTTIME_SPEEDRATE: "1.000000" From 1ded35b2cd8c11b2733e0848f9941ea6a3622bec Mon Sep 17 00:00:00 2001 From: Thijs van Loef Date: Sun, 28 Jan 2024 21:49:44 +0100 Subject: [PATCH 4/5] fix linting errors --- charts/palworld/VALUES_SUMMARY.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/charts/palworld/VALUES_SUMMARY.md b/charts/palworld/VALUES_SUMMARY.md index e8b5a68..320631b 100644 --- a/charts/palworld/VALUES_SUMMARY.md +++ b/charts/palworld/VALUES_SUMMARY.md @@ -1,6 +1,8 @@ # palworld -![Version: 0.0.2](https://img.shields.io/badge/Version-0.0.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) +![Version: 0.0.2](https://img.shields.io/badge/Version-0.0.2-informational?style=flat-square) +![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) +![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) This chart will provide a Palworld server installation on a kubernetes cluster. From 08dba13607a547a7e212a72349fcc67ead19c301 Mon Sep 17 00:00:00 2001 From: Thijs van Loef Date: Sun, 28 Jan 2024 21:50:41 +0100 Subject: [PATCH 5/5] remove style to match rest of repo --- charts/palworld/VALUES_SUMMARY.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/charts/palworld/VALUES_SUMMARY.md b/charts/palworld/VALUES_SUMMARY.md index 320631b..7526ee6 100644 --- a/charts/palworld/VALUES_SUMMARY.md +++ b/charts/palworld/VALUES_SUMMARY.md @@ -1,8 +1,8 @@ # palworld -![Version: 0.0.2](https://img.shields.io/badge/Version-0.0.2-informational?style=flat-square) -![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) -![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) +![Version: 0.0.2](https://img.shields.io/badge/Version-0.0.2-informational) +![Type: application](https://img.shields.io/badge/Type-application-informational) +![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational) This chart will provide a Palworld server installation on a kubernetes cluster.