diff --git a/404.html b/404.html index a4bf8347e..81c18fd92 100644 --- a/404.html +++ b/404.html @@ -10,7 +10,7 @@ - + diff --git a/advanced/kubernetes/index.html b/advanced/kubernetes/index.html index 1e2ff98d2..a1c0e1041 100644 --- a/advanced/kubernetes/index.html +++ b/advanced/kubernetes/index.html @@ -3,20 +3,21 @@ -Kubernetes | Palworld Server Docker Documentation +Palworld Dedicated Server on Kubernetes | Palworld Server Docker Documentation - + -
Skip to main content

Kubernetes

-

All files you will need to deploy this container to kubernetes are located in the k8s folder.

+

Palworld Dedicated Server on Kubernetes

+

How to run Palworld Dedicared server on Kubernetes.

Setup Palworld in kubernetes

+

All files you will need to deploy this container to kubernetes are located in the k8s folder.

Use the following commands to setup this Palworld container in Kubernetes:

  • kubectl apply -f pvc.yaml
  • diff --git a/advanced/palworld-directory/index.html b/advanced/palworld-directory/index.html index d4cdd436f..b404c3781 100644 --- a/advanced/palworld-directory/index.html +++ b/advanced/palworld-directory/index.html @@ -10,11 +10,11 @@ - + -

    Palworld Directory

    +

    Palworld Directory

    Everything related to the Palworld data is inside the /palworld folder inside the container

    Folder structure

    Folder Structure

    diff --git a/assets/js/3f1e559a.0dba0fc3.js b/assets/js/3f1e559a.0dba0fc3.js new file mode 100644 index 000000000..684aae854 --- /dev/null +++ b/assets/js/3f1e559a.0dba0fc3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[262],{9224:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>i,contentTitle:()=>d,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var n=t(4848),s=t(8453);const o={sidebar_position:4,title:"Palworld Dedicated Server Commands (RCON)",description:"How to use Palworld Dedicated server commands to manage your server, including Kicking, Banning and teleporting players.",keywords:["Palworld","palworld dedicated server","Palworld Server Commands","Palworld server how to ban player","Palworld server how to kick player"],image:"../../assets/Palworld_Banner.jpg",sidebar_label:"Server Commands (RCON)"},d="Palworld Dedicated Server Commands (RCON)",a={id:"getting-started/configuration/server-commands",title:"Palworld Dedicated Server Commands (RCON)",description:"How to use Palworld Dedicated server commands to manage your server, including Kicking, Banning and teleporting players.",source:"@site/docs/getting-started/configuration/server-commands.md",sourceDirName:"getting-started/configuration",slug:"/getting-started/configuration/server-commands",permalink:"/getting-started/configuration/server-commands",draft:!1,unlisted:!1,editUrl:"https://github.com/thijsvanloef/palworld-server-docker/tree/main/docusaurus/docs/getting-started/configuration/server-commands.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4,title:"Palworld Dedicated Server Commands (RCON)",description:"How to use Palworld Dedicated server commands to manage your server, including Kicking, Banning and teleporting players.",keywords:["Palworld","palworld dedicated server","Palworld Server Commands","Palworld server how to ban player","Palworld server how to kick player"],image:"../../assets/Palworld_Banner.jpg",sidebar_label:"Server Commands (RCON)"},sidebar:"tutorialSidebar",previous:{title:"Engine Settings",permalink:"/getting-started/configuration/engine-settings"},next:{title:"Guides",permalink:"/category/guides"}},i={},l=[{value:"RCON",id:"rcon",level:2},{value:"List of server commands",id:"list-of-server-commands",level:3}];function c(e){const r={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.h1,{id:"palworld-dedicated-server-commands-rcon",children:"Palworld Dedicated Server Commands (RCON)"}),"\n",(0,n.jsx)(r.p,{children:"How to use Palworld Dedicated server commands to manage your server,\nincluding Kicking, Banning and teleporting players."}),"\n",(0,n.jsx)(r.h2,{id:"rcon",children:"RCON"}),"\n",(0,n.jsx)(r.p,{children:"RCON is enabled by default for the palworld-server-docker image.\nOpening the RCON CLI is quite easy:"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-bash",children:'docker exec -it palworld-server rcon-cli " "\n'})}),"\n",(0,n.jsx)(r.p,{children:"For example, you can broadcast a message to everyone in the server with the following command:"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-bash",children:'docker exec -it palworld-server rcon-cli "Broadcast Hello everyone"\n'})}),"\n",(0,n.jsx)(r.p,{children:"This will open a CLI that uses RCON to write commands to the Palworld Server."}),"\n",(0,n.jsx)(r.h3,{id:"list-of-server-commands",children:"List of server commands"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Command"}),(0,n.jsx)(r.th,{children:"Info"})]})}),(0,n.jsxs)(r.tbody,{children:[(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"Shutdown (Seconds) (MessageText)"}),(0,n.jsx)(r.td,{children:"The server is shut down after the number of Seconds"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"DoExit"}),(0,n.jsx)(r.td,{children:"Force stop the server."})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"Broadcast"}),(0,n.jsx)(r.td,{children:"Send message to all player in the server"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"KickPlayer (SteamID)"}),(0,n.jsx)(r.td,{children:"Kick player from the server.."})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"BanPlayer (SteamID)"}),(0,n.jsx)(r.td,{children:"BAN player from the server."})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"TeleportToPlayer (SteamID)"}),(0,n.jsx)(r.td,{children:"Teleport to current location of target player."})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"TeleportToMe (SteamID)"}),(0,n.jsx)(r.td,{children:"Target player teleport to your current location"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"ShowPlayers"}),(0,n.jsx)(r.td,{children:"Show information on all connected players."})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"Info"}),(0,n.jsx)(r.td,{children:"Show server information."})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"Save"}),(0,n.jsx)(r.td,{children:"Save the world data."})]})]})]}),"\n",(0,n.jsxs)(r.p,{children:["For a full list of commands go to: ",(0,n.jsx)(r.a,{href:"https://tech.palworldgame.com/settings-and-operation/commands",children:"https://tech.palworldgame.com/settings-and-operation/commands"})]})]})}function h(e={}){const{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},8453:(e,r,t)=>{t.d(r,{R:()=>d,x:()=>a});var n=t(6540);const s={},o=n.createContext(s);function d(e){const r=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),n.createElement(o.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3f1e559a.d30642c5.js b/assets/js/3f1e559a.d30642c5.js deleted file mode 100644 index 9cc10e262..000000000 --- a/assets/js/3f1e559a.d30642c5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[262],{9224:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>d,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var n=r(4848),s=r(8453);const o={sidebar_position:4},d="Server Commands (RCON)",i={id:"getting-started/configuration/server-commands",title:"Server Commands (RCON)",description:"How to use RCON to interact with the server.",source:"@site/docs/getting-started/configuration/server-commands.md",sourceDirName:"getting-started/configuration",slug:"/getting-started/configuration/server-commands",permalink:"/getting-started/configuration/server-commands",draft:!1,unlisted:!1,editUrl:"https://github.com/thijsvanloef/palworld-server-docker/tree/main/docusaurus/docs/getting-started/configuration/server-commands.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Engine Settings",permalink:"/getting-started/configuration/engine-settings"},next:{title:"Guides",permalink:"/category/guides"}},a={},c=[{value:"RCON",id:"rcon",level:2},{value:"List of server commands",id:"list-of-server-commands",level:3}];function l(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"server-commands-rcon",children:"Server Commands (RCON)"}),"\n",(0,n.jsx)(t.p,{children:"How to use RCON to interact with the server."}),"\n",(0,n.jsx)(t.h2,{id:"rcon",children:"RCON"}),"\n",(0,n.jsx)(t.p,{children:"RCON is enabled by default for the palworld-server-docker image.\nOpening the RCON CLI is quite easy:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:'docker exec -it palworld-server rcon-cli " "\n'})}),"\n",(0,n.jsx)(t.p,{children:"For example, you can broadcast a message to everyone in the server with the following command:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:'docker exec -it palworld-server rcon-cli "Broadcast Hello everyone"\n'})}),"\n",(0,n.jsx)(t.p,{children:"This will open a CLI that uses RCON to write commands to the Palworld Server."}),"\n",(0,n.jsx)(t.h3,{id:"list-of-server-commands",children:"List of server commands"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Command"}),(0,n.jsx)(t.th,{children:"Info"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Shutdown (Seconds) (MessageText)"}),(0,n.jsx)(t.td,{children:"The server is shut down after the number of Seconds"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DoExit"}),(0,n.jsx)(t.td,{children:"Force stop the server."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Broadcast"}),(0,n.jsx)(t.td,{children:"Send message to all player in the server"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"KickPlayer (SteamID)"}),(0,n.jsx)(t.td,{children:"Kick player from the server.."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"BanPlayer (SteamID)"}),(0,n.jsx)(t.td,{children:"BAN player from the server."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TeleportToPlayer (SteamID)"}),(0,n.jsx)(t.td,{children:"Teleport to current location of target player."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TeleportToMe (SteamID)"}),(0,n.jsx)(t.td,{children:"Target player teleport to your current location"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"ShowPlayers"}),(0,n.jsx)(t.td,{children:"Show information on all connected players."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Info"}),(0,n.jsx)(t.td,{children:"Show server information."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Save"}),(0,n.jsx)(t.td,{children:"Save the world data."})]})]})]}),"\n",(0,n.jsxs)(t.p,{children:["For a full list of commands go to: ",(0,n.jsx)(t.a,{href:"https://tech.palworldgame.com/settings-and-operation/commands",children:"https://tech.palworldgame.com/settings-and-operation/commands"})]})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},8453:(e,t,r)=>{r.d(t,{R:()=>d,x:()=>i});var n=r(6540);const s={},o=n.createContext(s);function d(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4663f5f5.32c111dd.js b/assets/js/4663f5f5.32c111dd.js deleted file mode 100644 index 9c2514889..000000000 --- a/assets/js/4663f5f5.32c111dd.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[132],{8576:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>d,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var i=n(4848),s=n(8453);const r={sidebar_position:3},d="Engine Settings",l={id:"getting-started/configuration/engine-settings",title:"Engine Settings",description:"Changing Engine Settings with Environment variables.",source:"@site/docs/getting-started/configuration/engine-settings.md",sourceDirName:"getting-started/configuration",slug:"/getting-started/configuration/engine-settings",permalink:"/getting-started/configuration/engine-settings",draft:!1,unlisted:!1,editUrl:"https://github.com/thijsvanloef/palworld-server-docker/tree/main/docusaurus/docs/getting-started/configuration/engine-settings.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Game Settings",permalink:"/getting-started/configuration/game-settings"},next:{title:"Server Commands (RCON)",permalink:"/getting-started/configuration/server-commands"}},a={},c=[{value:"With Environment Variables",id:"with-environment-variables",level:2}];function o(e){const t={admonition:"admonition",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h1,{id:"engine-settings",children:"Engine Settings"}),"\n",(0,i.jsx)(t.p,{children:"Changing Engine Settings with Environment variables."}),"\n",(0,i.jsx)(t.h2,{id:"with-environment-variables",children:"With Environment Variables"}),"\n",(0,i.jsx)(t.admonition,{type:"warning",children:(0,i.jsx)(t.p,{children:"These environment variables and settings are subject to change since the game is still in beta."})}),"\n",(0,i.jsxs)(t.p,{children:["To use these settings you must set ",(0,i.jsx)(t.code,{children:"DISABLE_GENERATE_ENGINE: false"}),"."]}),"\n",(0,i.jsx)(t.p,{children:"Converting engine settings to environment variables follow the same principles (with some exceptions):"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"All capital letters"}),"\n",(0,i.jsx)(t.li,{children:"Split words by inserting an underscore"}),"\n",(0,i.jsx)(t.li,{children:"Remove the single letter if the setting starts with one (like 'b')"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"For example:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"LanServerMaxTickRate -> LAN_SERVER_MAX_TICK_RATE"}),"\n",(0,i.jsx)(t.li,{children:"bUseFixedFrameRate -> USE_FIXED_FRAME_RATE"}),"\n",(0,i.jsx)(t.li,{children:"NetClientTicksPerSecond -> NET_CLIENT_TICKS_PER_SECOND"}),"\n"]}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Variable"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Default Value"}),(0,i.jsx)(t.th,{children:"Allowed Value"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"DISABLE_GENERATE_ENGINE"}),(0,i.jsx)(t.td,{children:"Disable the generation of the Engine.ini"}),(0,i.jsx)(t.td,{children:"true"}),(0,i.jsx)(t.td,{children:"Boolean"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"LAN_SERVER_MAX_TICK_RATE"}),(0,i.jsx)(t.td,{children:"Sets maximum ticks per second for LAN servers, higher rates result in smoother gameplay."}),(0,i.jsx)(t.td,{children:"120"}),(0,i.jsx)(t.td,{children:"Integer"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"NET_SERVER_MAX_TICK_RATE"}),(0,i.jsx)(t.td,{children:"Sets maximum ticks per second for Internet servers, similarly ensuring smoother online gameplay."}),(0,i.jsx)(t.td,{children:"120"}),(0,i.jsx)(t.td,{children:"Integer"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"CONFIGURED_INTERNET_SPEED"}),(0,i.jsx)(t.td,{children:"Sets the assumed player internet speed in bytes per second. High value reduces chances of bandwidth throttling."}),(0,i.jsx)(t.td,{children:"104857600"}),(0,i.jsx)(t.td,{children:"Integer (in bytes)"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"CONFIGURED_LAN_SPEED"}),(0,i.jsx)(t.td,{children:"Sets the LAN speed, ensuring LAN players can utilize maximum network capacity."}),(0,i.jsx)(t.td,{children:"104857600"}),(0,i.jsx)(t.td,{children:"Integer (in bytes)"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"MAX_CLIENT_RATE"}),(0,i.jsx)(t.td,{children:"Maximum data transfer rate per client for all connections, set to a high value to prevent data capping."}),(0,i.jsx)(t.td,{children:"104857600"}),(0,i.jsx)(t.td,{children:"Integer (in bytes)"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"MAX_INTERNET_CLIENT_RATE"}),(0,i.jsx)(t.td,{children:"Specifically targets internet clients, allowing for high-volume data transfer without restrictions."}),(0,i.jsx)(t.td,{children:"104857600"}),(0,i.jsx)(t.td,{children:"Integer (in bytes)"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"SMOOTH_FRAME_RATE"}),(0,i.jsx)(t.td,{children:"Enables the game engine to smooth out frame rate fluctuations for a more consistent visual experience."}),(0,i.jsx)(t.td,{children:"true"}),(0,i.jsx)(t.td,{children:"Boolean"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"SMOOTH_FRAME_RATE_UPPER_LIMIT"}),(0,i.jsx)(t.td,{children:"Sets a max target frame rate range for smoothing."}),(0,i.jsx)(t.td,{children:"120.000000"}),(0,i.jsx)(t.td,{children:"Float"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"SMOOTH_FRAME_RATE_LOWER_LIMIT"}),(0,i.jsx)(t.td,{children:"Sets a min target frame rate range for smoothing."}),(0,i.jsx)(t.td,{children:"30.000000"}),(0,i.jsx)(t.td,{children:"Float"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"USE_FIXED_FRAME_RATE"}),(0,i.jsx)(t.td,{children:"Enables the use of a fixed frame rate"}),(0,i.jsx)(t.td,{children:"false"}),(0,i.jsx)(t.td,{children:"Boolean"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"FIXED_FRAME_RATE"}),(0,i.jsx)(t.td,{children:"Fixed frame rate"}),(0,i.jsx)(t.td,{children:"120.000000"}),(0,i.jsx)(t.td,{children:"Float"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"MIN_DESIRED_FRAME_RATE"}),(0,i.jsx)(t.td,{children:"Specifies a minimum acceptable frame rate, ensuring the game runs smoothly at least at this frame rate."}),(0,i.jsx)(t.td,{children:"60.000000"}),(0,i.jsx)(t.td,{children:"Float"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"NET_CLIENT_TICKS_PER_SECOND"}),(0,i.jsx)(t.td,{children:"Increases the update frequency for clients, enhancing responsiveness and reducing lag."}),(0,i.jsx)(t.td,{children:"120"}),(0,i.jsx)(t.td,{children:"Integer"})]})]})]}),"\n",(0,i.jsx)(t.admonition,{type:"tip",children:(0,i.jsx)(t.p,{children:"While setting the server tickrate above to 120 fps will make some gameplay aspect smoother,\nit won't fix rubber-banding and will tax your hardware significantly more."})})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>d,x:()=>l});var i=n(6540);const s={},r=i.createContext(s);function d(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4663f5f5.74f442d0.js b/assets/js/4663f5f5.74f442d0.js new file mode 100644 index 000000000..53b382b22 --- /dev/null +++ b/assets/js/4663f5f5.74f442d0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[132],{8576:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>d,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>o});var i=t(4848),r=t(8453);const s={sidebar_position:3,title:"Palworld Server Engine Settings",description:"How to change the Palworld Engine Settings (Engine.ini file) using Docker Environment variables.",keywords:["Palworld","palworld dedicated server","Palworld Engine.ini","palworld engine settings"],image:"../../assets/Palworld_Banner.jpg",sidebar_label:"Engine Settings"},d="Palworld Server Engine Settings",l={id:"getting-started/configuration/engine-settings",title:"Palworld Server Engine Settings",description:"How to change the Palworld Engine Settings (Engine.ini file) using Docker Environment variables.",source:"@site/docs/getting-started/configuration/engine-settings.md",sourceDirName:"getting-started/configuration",slug:"/getting-started/configuration/engine-settings",permalink:"/getting-started/configuration/engine-settings",draft:!1,unlisted:!1,editUrl:"https://github.com/thijsvanloef/palworld-server-docker/tree/main/docusaurus/docs/getting-started/configuration/engine-settings.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"Palworld Server Engine Settings",description:"How to change the Palworld Engine Settings (Engine.ini file) using Docker Environment variables.",keywords:["Palworld","palworld dedicated server","Palworld Engine.ini","palworld engine settings"],image:"../../assets/Palworld_Banner.jpg",sidebar_label:"Engine Settings"},sidebar:"tutorialSidebar",previous:{title:"Game Settings",permalink:"/getting-started/configuration/game-settings"},next:{title:"Server Commands (RCON)",permalink:"/getting-started/configuration/server-commands"}},a={},o=[{value:"With Environment Variables",id:"with-environment-variables",level:2}];function c(e){const n={admonition:"admonition",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"palworld-server-engine-settings",children:"Palworld Server Engine Settings"}),"\n",(0,i.jsx)(n.p,{children:"How to change the Palworld Engine Settings (Engine.ini file) using Docker Environment variables."}),"\n",(0,i.jsx)(n.h2,{id:"with-environment-variables",children:"With Environment Variables"}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsx)(n.p,{children:"These environment variables and settings are subject to change since the game is still in beta."})}),"\n",(0,i.jsxs)(n.p,{children:["To use these settings you must set ",(0,i.jsx)(n.code,{children:"DISABLE_GENERATE_ENGINE: false"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"Converting engine settings to environment variables follow the same principles (with some exceptions):"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"All capital letters"}),"\n",(0,i.jsx)(n.li,{children:"Split words by inserting an underscore"}),"\n",(0,i.jsx)(n.li,{children:"Remove the single letter if the setting starts with one (like 'b')"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"For example:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"LanServerMaxTickRate -> LAN_SERVER_MAX_TICK_RATE"}),"\n",(0,i.jsx)(n.li,{children:"bUseFixedFrameRate -> USE_FIXED_FRAME_RATE"}),"\n",(0,i.jsx)(n.li,{children:"NetClientTicksPerSecond -> NET_CLIENT_TICKS_PER_SECOND"}),"\n"]}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Variable"}),(0,i.jsx)(n.th,{children:"Description"}),(0,i.jsx)(n.th,{children:"Default Value"}),(0,i.jsx)(n.th,{children:"Allowed Value"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"DISABLE_GENERATE_ENGINE"}),(0,i.jsx)(n.td,{children:"Disable the generation of the Engine.ini"}),(0,i.jsx)(n.td,{children:"true"}),(0,i.jsx)(n.td,{children:"Boolean"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"LAN_SERVER_MAX_TICK_RATE"}),(0,i.jsx)(n.td,{children:"Sets maximum ticks per second for LAN servers, higher rates result in smoother gameplay."}),(0,i.jsx)(n.td,{children:"120"}),(0,i.jsx)(n.td,{children:"Integer"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"NET_SERVER_MAX_TICK_RATE"}),(0,i.jsx)(n.td,{children:"Sets maximum ticks per second for Internet servers, similarly ensuring smoother online gameplay."}),(0,i.jsx)(n.td,{children:"120"}),(0,i.jsx)(n.td,{children:"Integer"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"CONFIGURED_INTERNET_SPEED"}),(0,i.jsx)(n.td,{children:"Sets the assumed player internet speed in bytes per second. High value reduces chances of bandwidth throttling."}),(0,i.jsx)(n.td,{children:"104857600"}),(0,i.jsx)(n.td,{children:"Integer (in bytes)"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"CONFIGURED_LAN_SPEED"}),(0,i.jsx)(n.td,{children:"Sets the LAN speed, ensuring LAN players can utilize maximum network capacity."}),(0,i.jsx)(n.td,{children:"104857600"}),(0,i.jsx)(n.td,{children:"Integer (in bytes)"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"MAX_CLIENT_RATE"}),(0,i.jsx)(n.td,{children:"Maximum data transfer rate per client for all connections, set to a high value to prevent data capping."}),(0,i.jsx)(n.td,{children:"104857600"}),(0,i.jsx)(n.td,{children:"Integer (in bytes)"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"MAX_INTERNET_CLIENT_RATE"}),(0,i.jsx)(n.td,{children:"Specifically targets internet clients, allowing for high-volume data transfer without restrictions."}),(0,i.jsx)(n.td,{children:"104857600"}),(0,i.jsx)(n.td,{children:"Integer (in bytes)"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"SMOOTH_FRAME_RATE"}),(0,i.jsx)(n.td,{children:"Enables the game engine to smooth out frame rate fluctuations for a more consistent visual experience."}),(0,i.jsx)(n.td,{children:"true"}),(0,i.jsx)(n.td,{children:"Boolean"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"SMOOTH_FRAME_RATE_UPPER_LIMIT"}),(0,i.jsx)(n.td,{children:"Sets a max target frame rate range for smoothing."}),(0,i.jsx)(n.td,{children:"120.000000"}),(0,i.jsx)(n.td,{children:"Float"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"SMOOTH_FRAME_RATE_LOWER_LIMIT"}),(0,i.jsx)(n.td,{children:"Sets a min target frame rate range for smoothing."}),(0,i.jsx)(n.td,{children:"30.000000"}),(0,i.jsx)(n.td,{children:"Float"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"USE_FIXED_FRAME_RATE"}),(0,i.jsx)(n.td,{children:"Enables the use of a fixed frame rate"}),(0,i.jsx)(n.td,{children:"false"}),(0,i.jsx)(n.td,{children:"Boolean"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"FIXED_FRAME_RATE"}),(0,i.jsx)(n.td,{children:"Fixed frame rate"}),(0,i.jsx)(n.td,{children:"120.000000"}),(0,i.jsx)(n.td,{children:"Float"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"MIN_DESIRED_FRAME_RATE"}),(0,i.jsx)(n.td,{children:"Specifies a minimum acceptable frame rate, ensuring the game runs smoothly at least at this frame rate."}),(0,i.jsx)(n.td,{children:"60.000000"}),(0,i.jsx)(n.td,{children:"Float"})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"NET_CLIENT_TICKS_PER_SECOND"}),(0,i.jsx)(n.td,{children:"Increases the update frequency for clients, enhancing responsiveness and reducing lag."}),(0,i.jsx)(n.td,{children:"120"}),(0,i.jsx)(n.td,{children:"Integer"})]})]})]}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsx)(n.p,{children:"While setting the server tickrate above to 120 fps will make some gameplay aspect smoother,\nit won't fix rubber-banding and will tax your hardware significantly more."})})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>d,x:()=>l});var i=t(6540);const r={},s=i.createContext(r);function d(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/582288e3.2258ec78.js b/assets/js/582288e3.2258ec78.js deleted file mode 100644 index 5802401f5..000000000 --- a/assets/js/582288e3.2258ec78.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[888],{7061:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>a});var r=t(4848),s=t(8453);const l={sidebar_position:2},i="Kubernetes",o={id:"advanced/kubernetes",title:"Kubernetes",description:"All files you will need to deploy this container to kubernetes are located in the k8s folder.",source:"@site/docs/advanced/kubernetes.md",sourceDirName:"advanced",slug:"/advanced/kubernetes",permalink:"/advanced/kubernetes",draft:!1,unlisted:!1,editUrl:"https://github.com/thijsvanloef/palworld-server-docker/tree/main/docusaurus/docs/advanced/kubernetes.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Palworld Directory",permalink:"/advanced/palworld-directory"},next:{title:"Versions",permalink:"/versions/"}},c={},a=[{value:"Setup Palworld in kubernetes",id:"setup-palworld-in-kubernetes",level:2},{value:"Using helm chart",id:"using-helm-chart",level:2}];function d(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"kubernetes",children:"Kubernetes"}),"\n",(0,r.jsxs)(n.p,{children:["All files you will need to deploy this container to kubernetes are located in the ",(0,r.jsx)(n.a,{href:"https://github.com/thijsvanloef/palworld-server-docker/tree/main/k8s",children:"k8s folder"}),"."]}),"\n",(0,r.jsx)(n.h2,{id:"setup-palworld-in-kubernetes",children:"Setup Palworld in kubernetes"}),"\n",(0,r.jsx)(n.p,{children:"Use the following commands to setup this Palworld container in Kubernetes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.code,{children:"kubectl apply -f pvc.yaml"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.code,{children:"kubectl apply -f configmap.yaml"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.code,{children:"kubectl apply -f secret.yaml"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.code,{children:"kubectl apply -f service.yaml"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.code,{children:"kubectl apply -f deployment.yaml"})}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"using-helm-chart",children:"Using helm chart"}),"\n",(0,r.jsxs)(n.p,{children:["The official helm chart can be found in a seperate repository, ",(0,r.jsx)(n.a,{href:"https://github.com/Twinki14/palworld-server-chart",children:"palworld-server-chart"})]})]})}function u(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>o});var r=t(6540);const s={},l=r.createContext(s);function i(e){const n=r.useContext(l);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/582288e3.b2dd88b8.js b/assets/js/582288e3.b2dd88b8.js new file mode 100644 index 000000000..d7745a886 --- /dev/null +++ b/assets/js/582288e3.b2dd88b8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[888],{7061:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>a,contentTitle:()=>d,default:()=>u,frontMatter:()=>s,metadata:()=>o,toc:()=>i});var t=n(4848),l=n(8453);const s={sidebar_position:2,title:"Palworld Dedicated Server on Kubernetes",description:"How to run Palworld Dedicated server on Kubernetes.",keywords:["Palworld","palworld dedicated server","Palworld Dedicated server kubernetes"],image:"../assets/Palworld_Banner.jpg",sidebar_label:"Kubernetes"},d="Palworld Dedicated Server on Kubernetes",o={id:"advanced/kubernetes",title:"Palworld Dedicated Server on Kubernetes",description:"How to run Palworld Dedicated server on Kubernetes.",source:"@site/docs/advanced/kubernetes.md",sourceDirName:"advanced",slug:"/advanced/kubernetes",permalink:"/advanced/kubernetes",draft:!1,unlisted:!1,editUrl:"https://github.com/thijsvanloef/palworld-server-docker/tree/main/docusaurus/docs/advanced/kubernetes.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Palworld Dedicated Server on Kubernetes",description:"How to run Palworld Dedicated server on Kubernetes.",keywords:["Palworld","palworld dedicated server","Palworld Dedicated server kubernetes"],image:"../assets/Palworld_Banner.jpg",sidebar_label:"Kubernetes"},sidebar:"tutorialSidebar",previous:{title:"Palworld Directory",permalink:"/advanced/palworld-directory"},next:{title:"Versions",permalink:"/versions/"}},a={},i=[{value:"Setup Palworld in kubernetes",id:"setup-palworld-in-kubernetes",level:2},{value:"Using helm chart",id:"using-helm-chart",level:2}];function c(e){const r={a:"a",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",ul:"ul",...(0,l.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.h1,{id:"palworld-dedicated-server-on-kubernetes",children:"Palworld Dedicated Server on Kubernetes"}),"\n",(0,t.jsx)(r.p,{children:"How to run Palworld Dedicared server on Kubernetes."}),"\n",(0,t.jsx)(r.h2,{id:"setup-palworld-in-kubernetes",children:"Setup Palworld in kubernetes"}),"\n",(0,t.jsxs)(r.p,{children:["All files you will need to deploy this container to kubernetes are located in the ",(0,t.jsx)(r.a,{href:"https://github.com/thijsvanloef/palworld-server-docker/tree/main/k8s",children:"k8s folder"}),"."]}),"\n",(0,t.jsx)(r.p,{children:"Use the following commands to setup this Palworld container in Kubernetes:"}),"\n",(0,t.jsxs)(r.ul,{children:["\n",(0,t.jsx)(r.li,{children:(0,t.jsx)(r.code,{children:"kubectl apply -f pvc.yaml"})}),"\n",(0,t.jsx)(r.li,{children:(0,t.jsx)(r.code,{children:"kubectl apply -f configmap.yaml"})}),"\n",(0,t.jsx)(r.li,{children:(0,t.jsx)(r.code,{children:"kubectl apply -f secret.yaml"})}),"\n",(0,t.jsx)(r.li,{children:(0,t.jsx)(r.code,{children:"kubectl apply -f service.yaml"})}),"\n",(0,t.jsx)(r.li,{children:(0,t.jsx)(r.code,{children:"kubectl apply -f deployment.yaml"})}),"\n"]}),"\n",(0,t.jsx)(r.h2,{id:"using-helm-chart",children:"Using helm chart"}),"\n",(0,t.jsxs)(r.p,{children:["The official helm chart can be found in a seperate repository, ",(0,t.jsx)(r.a,{href:"https://github.com/Twinki14/palworld-server-chart",children:"palworld-server-chart"})]})]})}function u(e={}){const{wrapper:r}={...(0,l.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},8453:(e,r,n)=>{n.d(r,{R:()=>d,x:()=>o});var t=n(6540);const l={},s=t.createContext(l);function d(e){const r=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:d(e.components),t.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8482a3f6.165eab94.js b/assets/js/8482a3f6.165eab94.js deleted file mode 100644 index 4fece873a..000000000 --- a/assets/js/8482a3f6.165eab94.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[261],{4503:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>a,frontMatter:()=>d,metadata:()=>l,toc:()=>h});var s=r(4848),n=r(8453);const d={sidebar_position:1},i="Server Settings",l={id:"getting-started/configuration/server-settings",title:"Server Settings",description:"Changing Server Settings using environment variables.",source:"@site/docs/getting-started/configuration/server-settings.md",sourceDirName:"getting-started/configuration",slug:"/getting-started/configuration/server-settings",permalink:"/getting-started/configuration/server-settings",draft:!1,unlisted:!1,editUrl:"https://github.com/thijsvanloef/palworld-server-docker/tree/main/docusaurus/docs/getting-started/configuration/server-settings.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Configuration",permalink:"/category/configuration"},next:{title:"Game Settings",permalink:"/getting-started/configuration/game-settings"}},c={},h=[{value:"Environment variables",id:"environment-variables",level:2},{value:"Game Ports",id:"game-ports",level:3}];function o(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,n.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h1,{id:"server-settings",children:"Server Settings"}),"\n",(0,s.jsx)(t.p,{children:"Changing Server Settings using environment variables."}),"\n",(0,s.jsx)(t.h2,{id:"environment-variables",children:"Environment variables"}),"\n",(0,s.jsx)(t.p,{children:"You can use the following values to change the settings of the server on boot.\nIt is highly recommended you set the following environment values before starting the server:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"PLAYERS"}),"\n",(0,s.jsx)(t.li,{children:"PORT"}),"\n",(0,s.jsx)(t.li,{children:"PUID"}),"\n",(0,s.jsx)(t.li,{children:"PGID"}),"\n"]}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Variable"}),(0,s.jsx)(t.th,{children:"Info"}),(0,s.jsx)(t.th,{children:"Default Values"}),(0,s.jsx)(t.th,{children:"Allowed Values"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"TZ"}),(0,s.jsx)(t.td,{children:"Timezone used for time stamping backup server"}),(0,s.jsx)(t.td,{children:"UTC"}),(0,s.jsxs)(t.td,{children:["See ",(0,s.jsx)(t.a,{href:"https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#Time_Zone_abbreviations",children:"TZ Identifiers"})]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"PLAYERS*"}),(0,s.jsx)(t.td,{children:"Max amount of players that are able to join the server"}),(0,s.jsx)(t.td,{children:"16"}),(0,s.jsx)(t.td,{children:"1-32"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"PORT*"}),(0,s.jsx)(t.td,{children:"UDP port that the server will expose"}),(0,s.jsx)(t.td,{children:"8211"}),(0,s.jsx)(t.td,{children:"1024-65535"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"PUID*"}),(0,s.jsx)(t.td,{children:"The uid of the user the server should run as"}),(0,s.jsx)(t.td,{children:"1000"}),(0,s.jsx)(t.td,{children:"!0"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"PGID*"}),(0,s.jsx)(t.td,{children:"The gid of the group the server should run as"}),(0,s.jsx)(t.td,{children:"1000"}),(0,s.jsx)(t.td,{children:"!0"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"MULTITHREADING**"}),(0,s.jsx)(t.td,{children:"Improves performance in multi-threaded CPU environments. It is effective up to a maximum of about 4 threads, and allocating more than this number of threads does not make much sense."}),(0,s.jsx)(t.td,{children:"false"}),(0,s.jsx)(t.td,{children:"true/false"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"COMMUNITY"}),(0,s.jsx)(t.td,{children:"Whether or not the server shows up in the community server browser (USE WITH SERVER_PASSWORD)"}),(0,s.jsx)(t.td,{children:"false"}),(0,s.jsx)(t.td,{children:"true/false"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"PUBLIC_IP"}),(0,s.jsx)(t.td,{children:"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."}),(0,s.jsx)(t.td,{}),(0,s.jsx)(t.td,{children:"x.x.x.x"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"PUBLIC_PORT"}),(0,s.jsx)(t.td,{children:"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."}),(0,s.jsx)(t.td,{}),(0,s.jsx)(t.td,{children:"1024-65535"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"SERVER_NAME"}),(0,s.jsx)(t.td,{children:"A name for your server"}),(0,s.jsx)(t.td,{}),(0,s.jsx)(t.td,{children:'"string"'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"SERVER_DESCRIPTION"}),(0,s.jsx)(t.td,{children:"Your server Description"}),(0,s.jsx)(t.td,{}),(0,s.jsx)(t.td,{children:'"string"'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"SERVER_PASSWORD"}),(0,s.jsx)(t.td,{children:"Secure your community server with a password"}),(0,s.jsx)(t.td,{}),(0,s.jsx)(t.td,{children:'"string"'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ADMIN_PASSWORD"}),(0,s.jsx)(t.td,{children:"Secure administration access in the server with a password"}),(0,s.jsx)(t.td,{}),(0,s.jsx)(t.td,{children:'"string"'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"UPDATE_ON_BOOT**"}),(0,s.jsx)(t.td,{children:"Update/Install the server when the docker container starts (THIS HAS TO BE ENABLED THE FIRST TIME YOU RUN THE CONTAINER)"}),(0,s.jsx)(t.td,{children:"true"}),(0,s.jsx)(t.td,{children:"true/false"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"RCON_ENABLED***"}),(0,s.jsx)(t.td,{children:"Enable RCON for the Palworld server"}),(0,s.jsx)(t.td,{children:"true"}),(0,s.jsx)(t.td,{children:"true/false"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"RCON_PORT"}),(0,s.jsx)(t.td,{children:"RCON port to connect to"}),(0,s.jsx)(t.td,{children:"25575"}),(0,s.jsx)(t.td,{children:"1024-65535"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"QUERY_PORT"}),(0,s.jsx)(t.td,{children:"Query port used to communicate with Steam servers"}),(0,s.jsx)(t.td,{children:"27015"}),(0,s.jsx)(t.td,{children:"1024-65535"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"BACKUP_CRON_EXPRESSION"}),(0,s.jsx)(t.td,{children:"Setting affects frequency of automatic backups."}),(0,s.jsx)(t.td,{children:"0 0 * * *"}),(0,s.jsxs)(t.td,{children:["Needs a Cron-Expression - See ",(0,s.jsx)(t.a,{href:"https://palworld-server-docker.loef.dev/guides/backup/automated-backup",children:"Configuring Automatic Backups with Cron"})]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"BACKUP_ENABLED"}),(0,s.jsx)(t.td,{children:"Enables automatic backups"}),(0,s.jsx)(t.td,{children:"true"}),(0,s.jsx)(t.td,{children:"true/false"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"DELETE_OLD_BACKUPS"}),(0,s.jsx)(t.td,{children:"Delete backups after a certain number of days"}),(0,s.jsx)(t.td,{children:"false"}),(0,s.jsx)(t.td,{children:"true/false"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"OLD_BACKUP_DAYS"}),(0,s.jsx)(t.td,{children:"How many days to keep backups"}),(0,s.jsx)(t.td,{children:"30"}),(0,s.jsx)(t.td,{children:"any positive integer"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"AUTO_UPDATE_CRON_EXPRESSION"}),(0,s.jsx)(t.td,{children:"Setting affects frequency of automatic updates."}),(0,s.jsx)(t.td,{children:"0 * * * *"}),(0,s.jsxs)(t.td,{children:["Needs a Cron-Expression - See ",(0,s.jsx)(t.a,{href:"https://palworld-server-docker.loef.dev/guides/automatic-updates",children:"Configuring Automatic Updates with Cron"})]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"AUTO_UPDATE_ENABLED"}),(0,s.jsx)(t.td,{children:"Enables automatic updates"}),(0,s.jsx)(t.td,{children:"false"}),(0,s.jsx)(t.td,{children:"true/false"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"AUTO_UPDATE_WARN_MINUTES"}),(0,s.jsx)(t.td,{children:"How long to wait to update the server, after the player were informed. (This will be ignored, if no Players are connected)"}),(0,s.jsx)(t.td,{children:"30"}),(0,s.jsx)(t.td,{children:"Integer"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"AUTO_REBOOT_CRON_EXPRESSION"}),(0,s.jsx)(t.td,{children:"Setting affects frequency of automatic updates."}),(0,s.jsx)(t.td,{children:"0 0 * * *"}),(0,s.jsxs)(t.td,{children:["Needs a Cron-Expression - See ",(0,s.jsx)(t.a,{href:"https://palworld-server-docker.loef.dev/guides/automatic-reboots",children:"Configuring Automatic Reboots with Cron"})]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"AUTO_REBOOT_ENABLED"}),(0,s.jsx)(t.td,{children:"Enables automatic reboots"}),(0,s.jsx)(t.td,{children:"false"}),(0,s.jsx)(t.td,{children:"true/false"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"AUTO_REBOOT_WARN_MINUTES"}),(0,s.jsx)(t.td,{children:"How long to wait to reboot the server, after the player were informed."}),(0,s.jsx)(t.td,{children:"5"}),(0,s.jsx)(t.td,{children:"Integer"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"AUTO_REBOOT_EVEN_IF_PLAYERS_ONLINE"}),(0,s.jsx)(t.td,{children:"Restart the Server even if there are players online."}),(0,s.jsx)(t.td,{children:"false"}),(0,s.jsx)(t.td,{children:"true/false"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"TARGET_MANIFEST_ID"}),(0,s.jsx)(t.td,{children:"Locks game version to corespond with Manfiest ID from Steam Download Depot."}),(0,s.jsx)(t.td,{}),(0,s.jsxs)(t.td,{children:["See ",(0,s.jsx)(t.a,{href:"https://palworld-server-docker.loef.dev/guides/pinning-game-version#version-to-manifest-id-table",children:"Manifest ID Table"})]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"DISCORD_WEBHOOK_URL"}),(0,s.jsx)(t.td,{children:"Discord webhook url found after creating a webhook on a discord server"}),(0,s.jsx)(t.td,{}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"https://discord.com/api/webhooks/"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"DISCORD_CONNECT_TIMEOUT"}),(0,s.jsx)(t.td,{children:"Discord command initial connection timeout"}),(0,s.jsx)(t.td,{children:"30"}),(0,s.jsx)(t.td,{children:"!0"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"DISCORD_MAX_TIMEOUT"}),(0,s.jsx)(t.td,{children:"Discord total hook timeout"}),(0,s.jsx)(t.td,{children:"30"}),(0,s.jsx)(t.td,{children:"!0"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"DISCORD_PRE_UPDATE_BOOT_MESSAGE"}),(0,s.jsx)(t.td,{children:"Discord message sent when server begins updating"}),(0,s.jsx)(t.td,{children:"Server is updating..."}),(0,s.jsx)(t.td,{children:'"string"'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"DISCORD_POST_UPDATE_BOOT_MESSAGE"}),(0,s.jsx)(t.td,{children:"Discord message sent when server completes updating"}),(0,s.jsx)(t.td,{children:"Server update complete!"}),(0,s.jsx)(t.td,{children:'"string"'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"DISCORD_PRE_START_MESSAGE"}),(0,s.jsx)(t.td,{children:"Discord message sent when server begins to start"}),(0,s.jsx)(t.td,{children:"Server is started!"}),(0,s.jsx)(t.td,{children:'"string"'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"DISCORD_PRE_SHUTDOWN_MESSAGE"}),(0,s.jsx)(t.td,{children:"Discord message sent when server begins to shutdown"}),(0,s.jsx)(t.td,{children:"Server is shutting down..."}),(0,s.jsx)(t.td,{children:'"string"'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"DISCORD_POST_SHUTDOWN_MESSAGE"}),(0,s.jsx)(t.td,{children:"Discord message sent when server has stopped"}),(0,s.jsx)(t.td,{children:"Server is stopped!"}),(0,s.jsx)(t.td,{children:'"string"'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"DISABLE_GENERATE_SETTINGS"}),(0,s.jsx)(t.td,{children:"Whether to automatically generate the PalWorldSettings.ini"}),(0,s.jsx)(t.td,{children:"false"}),(0,s.jsx)(t.td,{children:"true/false"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"DISABLE_GENERATE_ENGINE"}),(0,s.jsx)(t.td,{children:"Whether to automatically generate the Engine.ini"}),(0,s.jsx)(t.td,{children:"true"}),(0,s.jsx)(t.td,{children:"true/false"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ENABLE_PLAYER_LOGGING"}),(0,s.jsx)(t.td,{children:"Enables Logging and announcing when players join and leave"}),(0,s.jsx)(t.td,{children:"true"}),(0,s.jsx)(t.td,{children:"true/false"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"PLAYER_LOGGING_POLL_PERIOD"}),(0,s.jsx)(t.td,{children:"Polling period (in seconds) to check for players who have joined or left"}),(0,s.jsx)(t.td,{children:"5"}),(0,s.jsx)(t.td,{children:"!0"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ARM_COMPATIBILITY_MODE"}),(0,s.jsx)(t.td,{children:"Switches the compatibility layer from Box86 to QEMU when executing steamcmd for server updates. This setting is only applicable for ARM64 hosts."}),(0,s.jsx)(t.td,{children:"false"}),(0,s.jsx)(t.td,{children:"true/false"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"*highly recommended to set"}),"\n",(0,s.jsx)(t.p,{children:"** Make sure you know what you are doing when running this option enabled"}),"\n",(0,s.jsx)(t.p,{children:"*** Required for docker stop to save and gracefully close the server"}),"\n",(0,s.jsx)(t.h3,{id:"game-ports",children:"Game Ports"}),"\n",(0,s.jsx)(t.p,{children:"The server needs the following ports by default."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Port"}),(0,s.jsx)(t.th,{children:"Info"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"8211"}),(0,s.jsx)(t.td,{children:"Game Port (UDP)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"27015"}),(0,s.jsx)(t.td,{children:"Query Port (UDP)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"25575"}),(0,s.jsx)(t.td,{children:"RCON Port (TCP)"})]})]})]})]})}function a(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(o,{...e})}):o(e)}},8453:(e,t,r)=>{r.d(t,{R:()=>i,x:()=>l});var s=r(6540);const n={},d=s.createContext(n);function i(e){const t=s.useContext(d);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),s.createElement(d.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8482a3f6.3b487536.js b/assets/js/8482a3f6.3b487536.js new file mode 100644 index 000000000..1d0f73623 --- /dev/null +++ b/assets/js/8482a3f6.3b487536.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[261],{4503:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>a,frontMatter:()=>n,metadata:()=>l,toc:()=>o});var s=r(4848),d=r(8453);const n={sidebar_position:1,title:"Palworld Dedicated Server Settings",description:"How to change the Palworld Server Settings using Docker Environment variables.",keywords:["Palworld","palworld dedicated server","Palworld Dedicated server settings","palworld server settings","Palworld Docker Dedicated server settings","palworld Docker server settings"],image:"../../assets/Palworld_Banner.jpg",sidebar_label:"Server Settings"},i="Palworld Dedicated Server Settings",l={id:"getting-started/configuration/server-settings",title:"Palworld Dedicated Server Settings",description:"How to change the Palworld Server Settings using Docker Environment variables.",source:"@site/docs/getting-started/configuration/server-settings.md",sourceDirName:"getting-started/configuration",slug:"/getting-started/configuration/server-settings",permalink:"/getting-started/configuration/server-settings",draft:!1,unlisted:!1,editUrl:"https://github.com/thijsvanloef/palworld-server-docker/tree/main/docusaurus/docs/getting-started/configuration/server-settings.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Palworld Dedicated Server Settings",description:"How to change the Palworld Server Settings using Docker Environment variables.",keywords:["Palworld","palworld dedicated server","Palworld Dedicated server settings","palworld server settings","Palworld Docker Dedicated server settings","palworld Docker server settings"],image:"../../assets/Palworld_Banner.jpg",sidebar_label:"Server Settings"},sidebar:"tutorialSidebar",previous:{title:"Configuration",permalink:"/category/configuration"},next:{title:"Game Settings",permalink:"/getting-started/configuration/game-settings"}},c={},o=[{value:"Environment variables",id:"environment-variables",level:2},{value:"Game Ports",id:"game-ports",level:3}];function h(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,d.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h1,{id:"palworld-dedicated-server-settings",children:"Palworld Dedicated Server Settings"}),"\n",(0,s.jsx)(t.p,{children:"How to change the Palworld Server Settings using Docker Environment variables."}),"\n",(0,s.jsx)(t.h2,{id:"environment-variables",children:"Environment variables"}),"\n",(0,s.jsx)(t.p,{children:"You can use the following values to change the settings of the server on boot.\nIt is highly recommended you set the following environment values before starting the server:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"PLAYERS"}),"\n",(0,s.jsx)(t.li,{children:"PORT"}),"\n",(0,s.jsx)(t.li,{children:"PUID"}),"\n",(0,s.jsx)(t.li,{children:"PGID"}),"\n"]}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Variable"}),(0,s.jsx)(t.th,{children:"Info"}),(0,s.jsx)(t.th,{children:"Default Values"}),(0,s.jsx)(t.th,{children:"Allowed Values"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"TZ"}),(0,s.jsx)(t.td,{children:"Timezone used for time stamping backup server"}),(0,s.jsx)(t.td,{children:"UTC"}),(0,s.jsxs)(t.td,{children:["See ",(0,s.jsx)(t.a,{href:"https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#Time_Zone_abbreviations",children:"TZ Identifiers"})]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"PLAYERS*"}),(0,s.jsx)(t.td,{children:"Max amount of players that are able to join the server"}),(0,s.jsx)(t.td,{children:"16"}),(0,s.jsx)(t.td,{children:"1-32"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"PORT*"}),(0,s.jsx)(t.td,{children:"UDP port that the server will expose"}),(0,s.jsx)(t.td,{children:"8211"}),(0,s.jsx)(t.td,{children:"1024-65535"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"PUID*"}),(0,s.jsx)(t.td,{children:"The uid of the user the server should run as"}),(0,s.jsx)(t.td,{children:"1000"}),(0,s.jsx)(t.td,{children:"!0"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"PGID*"}),(0,s.jsx)(t.td,{children:"The gid of the group the server should run as"}),(0,s.jsx)(t.td,{children:"1000"}),(0,s.jsx)(t.td,{children:"!0"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"MULTITHREADING**"}),(0,s.jsx)(t.td,{children:"Improves performance in multi-threaded CPU environments. It is effective up to a maximum of about 4 threads, and allocating more than this number of threads does not make much sense."}),(0,s.jsx)(t.td,{children:"false"}),(0,s.jsx)(t.td,{children:"true/false"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"COMMUNITY"}),(0,s.jsx)(t.td,{children:"Whether or not the server shows up in the community server browser (USE WITH SERVER_PASSWORD)"}),(0,s.jsx)(t.td,{children:"false"}),(0,s.jsx)(t.td,{children:"true/false"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"PUBLIC_IP"}),(0,s.jsx)(t.td,{children:"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."}),(0,s.jsx)(t.td,{}),(0,s.jsx)(t.td,{children:"x.x.x.x"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"PUBLIC_PORT"}),(0,s.jsx)(t.td,{children:"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."}),(0,s.jsx)(t.td,{}),(0,s.jsx)(t.td,{children:"1024-65535"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"SERVER_NAME"}),(0,s.jsx)(t.td,{children:"A name for your server"}),(0,s.jsx)(t.td,{}),(0,s.jsx)(t.td,{children:'"string"'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"SERVER_DESCRIPTION"}),(0,s.jsx)(t.td,{children:"Your server Description"}),(0,s.jsx)(t.td,{}),(0,s.jsx)(t.td,{children:'"string"'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"SERVER_PASSWORD"}),(0,s.jsx)(t.td,{children:"Secure your community server with a password"}),(0,s.jsx)(t.td,{}),(0,s.jsx)(t.td,{children:'"string"'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ADMIN_PASSWORD"}),(0,s.jsx)(t.td,{children:"Secure administration access in the server with a password"}),(0,s.jsx)(t.td,{}),(0,s.jsx)(t.td,{children:'"string"'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"UPDATE_ON_BOOT**"}),(0,s.jsx)(t.td,{children:"Update/Install the server when the docker container starts (THIS HAS TO BE ENABLED THE FIRST TIME YOU RUN THE CONTAINER)"}),(0,s.jsx)(t.td,{children:"true"}),(0,s.jsx)(t.td,{children:"true/false"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"RCON_ENABLED***"}),(0,s.jsx)(t.td,{children:"Enable RCON for the Palworld server"}),(0,s.jsx)(t.td,{children:"true"}),(0,s.jsx)(t.td,{children:"true/false"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"RCON_PORT"}),(0,s.jsx)(t.td,{children:"RCON port to connect to"}),(0,s.jsx)(t.td,{children:"25575"}),(0,s.jsx)(t.td,{children:"1024-65535"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"QUERY_PORT"}),(0,s.jsx)(t.td,{children:"Query port used to communicate with Steam servers"}),(0,s.jsx)(t.td,{children:"27015"}),(0,s.jsx)(t.td,{children:"1024-65535"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"BACKUP_CRON_EXPRESSION"}),(0,s.jsx)(t.td,{children:"Setting affects frequency of automatic backups."}),(0,s.jsx)(t.td,{children:"0 0 * * *"}),(0,s.jsxs)(t.td,{children:["Needs a Cron-Expression - See ",(0,s.jsx)(t.a,{href:"https://palworld-server-docker.loef.dev/guides/backup/automated-backup",children:"Configuring Automatic Backups with Cron"})]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"BACKUP_ENABLED"}),(0,s.jsx)(t.td,{children:"Enables automatic backups"}),(0,s.jsx)(t.td,{children:"true"}),(0,s.jsx)(t.td,{children:"true/false"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"DELETE_OLD_BACKUPS"}),(0,s.jsx)(t.td,{children:"Delete backups after a certain number of days"}),(0,s.jsx)(t.td,{children:"false"}),(0,s.jsx)(t.td,{children:"true/false"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"OLD_BACKUP_DAYS"}),(0,s.jsx)(t.td,{children:"How many days to keep backups"}),(0,s.jsx)(t.td,{children:"30"}),(0,s.jsx)(t.td,{children:"any positive integer"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"AUTO_UPDATE_CRON_EXPRESSION"}),(0,s.jsx)(t.td,{children:"Setting affects frequency of automatic updates."}),(0,s.jsx)(t.td,{children:"0 * * * *"}),(0,s.jsxs)(t.td,{children:["Needs a Cron-Expression - See ",(0,s.jsx)(t.a,{href:"https://palworld-server-docker.loef.dev/guides/automatic-updates",children:"Configuring Automatic Updates with Cron"})]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"AUTO_UPDATE_ENABLED"}),(0,s.jsx)(t.td,{children:"Enables automatic updates"}),(0,s.jsx)(t.td,{children:"false"}),(0,s.jsx)(t.td,{children:"true/false"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"AUTO_UPDATE_WARN_MINUTES"}),(0,s.jsx)(t.td,{children:"How long to wait to update the server, after the player were informed. (This will be ignored, if no Players are connected)"}),(0,s.jsx)(t.td,{children:"30"}),(0,s.jsx)(t.td,{children:"Integer"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"AUTO_REBOOT_CRON_EXPRESSION"}),(0,s.jsx)(t.td,{children:"Setting affects frequency of automatic updates."}),(0,s.jsx)(t.td,{children:"0 0 * * *"}),(0,s.jsxs)(t.td,{children:["Needs a Cron-Expression - See ",(0,s.jsx)(t.a,{href:"https://palworld-server-docker.loef.dev/guides/automatic-reboots",children:"Configuring Automatic Reboots with Cron"})]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"AUTO_REBOOT_ENABLED"}),(0,s.jsx)(t.td,{children:"Enables automatic reboots"}),(0,s.jsx)(t.td,{children:"false"}),(0,s.jsx)(t.td,{children:"true/false"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"AUTO_REBOOT_WARN_MINUTES"}),(0,s.jsx)(t.td,{children:"How long to wait to reboot the server, after the player were informed."}),(0,s.jsx)(t.td,{children:"5"}),(0,s.jsx)(t.td,{children:"Integer"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"AUTO_REBOOT_EVEN_IF_PLAYERS_ONLINE"}),(0,s.jsx)(t.td,{children:"Restart the Server even if there are players online."}),(0,s.jsx)(t.td,{children:"false"}),(0,s.jsx)(t.td,{children:"true/false"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"TARGET_MANIFEST_ID"}),(0,s.jsx)(t.td,{children:"Locks game version to corespond with Manfiest ID from Steam Download Depot."}),(0,s.jsx)(t.td,{}),(0,s.jsxs)(t.td,{children:["See ",(0,s.jsx)(t.a,{href:"https://palworld-server-docker.loef.dev/guides/pinning-game-version#version-to-manifest-id-table",children:"Manifest ID Table"})]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"DISCORD_WEBHOOK_URL"}),(0,s.jsx)(t.td,{children:"Discord webhook url found after creating a webhook on a discord server"}),(0,s.jsx)(t.td,{}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"https://discord.com/api/webhooks/"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"DISCORD_CONNECT_TIMEOUT"}),(0,s.jsx)(t.td,{children:"Discord command initial connection timeout"}),(0,s.jsx)(t.td,{children:"30"}),(0,s.jsx)(t.td,{children:"!0"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"DISCORD_MAX_TIMEOUT"}),(0,s.jsx)(t.td,{children:"Discord total hook timeout"}),(0,s.jsx)(t.td,{children:"30"}),(0,s.jsx)(t.td,{children:"!0"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"DISCORD_PRE_UPDATE_BOOT_MESSAGE"}),(0,s.jsx)(t.td,{children:"Discord message sent when server begins updating"}),(0,s.jsx)(t.td,{children:"Server is updating..."}),(0,s.jsx)(t.td,{children:'"string"'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"DISCORD_POST_UPDATE_BOOT_MESSAGE"}),(0,s.jsx)(t.td,{children:"Discord message sent when server completes updating"}),(0,s.jsx)(t.td,{children:"Server update complete!"}),(0,s.jsx)(t.td,{children:'"string"'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"DISCORD_PRE_START_MESSAGE"}),(0,s.jsx)(t.td,{children:"Discord message sent when server begins to start"}),(0,s.jsx)(t.td,{children:"Server is started!"}),(0,s.jsx)(t.td,{children:'"string"'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"DISCORD_PRE_SHUTDOWN_MESSAGE"}),(0,s.jsx)(t.td,{children:"Discord message sent when server begins to shutdown"}),(0,s.jsx)(t.td,{children:"Server is shutting down..."}),(0,s.jsx)(t.td,{children:'"string"'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"DISCORD_POST_SHUTDOWN_MESSAGE"}),(0,s.jsx)(t.td,{children:"Discord message sent when server has stopped"}),(0,s.jsx)(t.td,{children:"Server is stopped!"}),(0,s.jsx)(t.td,{children:'"string"'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"DISABLE_GENERATE_SETTINGS"}),(0,s.jsx)(t.td,{children:"Whether to automatically generate the PalWorldSettings.ini"}),(0,s.jsx)(t.td,{children:"false"}),(0,s.jsx)(t.td,{children:"true/false"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"DISABLE_GENERATE_ENGINE"}),(0,s.jsx)(t.td,{children:"Whether to automatically generate the Engine.ini"}),(0,s.jsx)(t.td,{children:"true"}),(0,s.jsx)(t.td,{children:"true/false"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ENABLE_PLAYER_LOGGING"}),(0,s.jsx)(t.td,{children:"Enables Logging and announcing when players join and leave"}),(0,s.jsx)(t.td,{children:"true"}),(0,s.jsx)(t.td,{children:"true/false"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"PLAYER_LOGGING_POLL_PERIOD"}),(0,s.jsx)(t.td,{children:"Polling period (in seconds) to check for players who have joined or left"}),(0,s.jsx)(t.td,{children:"5"}),(0,s.jsx)(t.td,{children:"!0"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ARM_COMPATIBILITY_MODE"}),(0,s.jsx)(t.td,{children:"Switches the compatibility layer from Box86 to QEMU when executing steamcmd for server updates. This setting is only applicable for ARM64 hosts."}),(0,s.jsx)(t.td,{children:"false"}),(0,s.jsx)(t.td,{children:"true/false"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"*highly recommended to set"}),"\n",(0,s.jsx)(t.p,{children:"** Make sure you know what you are doing when running this option enabled"}),"\n",(0,s.jsx)(t.p,{children:"*** Required for docker stop to save and gracefully close the server"}),"\n",(0,s.jsx)(t.h3,{id:"game-ports",children:"Game Ports"}),"\n",(0,s.jsx)(t.p,{children:"The server needs the following ports by default."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Port"}),(0,s.jsx)(t.th,{children:"Info"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"8211"}),(0,s.jsx)(t.td,{children:"Game Port (UDP)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"27015"}),(0,s.jsx)(t.td,{children:"Query Port (UDP)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"25575"}),(0,s.jsx)(t.td,{children:"RCON Port (TCP)"})]})]})]})]})}function a(e={}){const{wrapper:t}={...(0,d.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},8453:(e,t,r)=>{r.d(t,{R:()=>i,x:()=>l});var s=r(6540);const d={},n=s.createContext(d);function i(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:i(e.components),s.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8a6a27d2.3576d900.js b/assets/js/8a6a27d2.3576d900.js deleted file mode 100644 index fa640047b..000000000 --- a/assets/js/8a6a27d2.3576d900.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[558],{5846:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>d,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>a});var t=n(4848),s=n(8453);const o={sidebar_position:1,slug:"/"},l="Quick Setup",i={id:"getting-started/quick-setup",title:"Quick Setup",description:"Let's get you on your way with the Palworld Dedicated server!",source:"@site/docs/getting-started/quick-setup.md",sourceDirName:"getting-started",slug:"/",permalink:"/",draft:!1,unlisted:!1,editUrl:"https://github.com/thijsvanloef/palworld-server-docker/tree/main/docusaurus/docs/getting-started/quick-setup.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,slug:"/"},sidebar:"tutorialSidebar",previous:{title:"Getting Started",permalink:"/category/getting-started"},next:{title:"Configuration",permalink:"/category/configuration"}},d={},a=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Server Requirements",id:"server-requirements",level:2},{value:"Docker Compose",id:"docker-compose",level:2},{value:"Starting the server",id:"starting-the-server",level:3},{value:"Stopping the server",id:"stopping-the-server",level:3},{value:"Docker Run",id:"docker-run",level:2}];function c(e){const r={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.h1,{id:"quick-setup",children:"Quick Setup"}),"\n",(0,t.jsx)(r.p,{children:"Let's get you on your way with the Palworld Dedicated server!"}),"\n",(0,t.jsxs)(r.admonition,{type:"warning",children:[(0,t.jsx)(r.p,{children:"At the moment, Xbox Gamepass/Xbox Console players will not be able to join a dedicated server."}),(0,t.jsx)(r.p,{children:"They will need to join players using the invite code and are limited to sessions of 4 players max."})]}),"\n",(0,t.jsx)(r.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,t.jsxs)(r.ul,{children:["\n",(0,t.jsx)(r.li,{children:"Virtualization enabled in the BIOS/UEFI"}),"\n",(0,t.jsxs)(r.li,{children:["Must have ",(0,t.jsx)(r.a,{href:"https://docs.docker.com/engine/install/",children:"Docker"})," installed"]}),"\n"]}),"\n",(0,t.jsx)(r.h2,{id:"server-requirements",children:"Server Requirements"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Resource"}),(0,t.jsx)(r.th,{children:"Minimum"}),(0,t.jsx)(r.th,{children:"Recommended"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"CPU"}),(0,t.jsx)(r.td,{children:"4 cores"}),(0,t.jsx)(r.td,{children:"4+ cores"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"RAM"}),(0,t.jsx)(r.td,{children:"16GB"}),(0,t.jsx)(r.td,{children:"Recommend over 32GB for stable operation"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Storage"}),(0,t.jsx)(r.td,{children:"8GB"}),(0,t.jsx)(r.td,{children:"20GB"})]})]})]}),"\n",(0,t.jsx)(r.h2,{id:"docker-compose",children:"Docker Compose"}),"\n",(0,t.jsxs)(r.p,{children:["This repository includes an example\n",(0,t.jsx)(r.a,{href:"https://github.com/thijsvanloef/palworld-server-docker/blob/main/docker-compose.yml",children:"docker-compose.yml"}),"\nfile you can use to set up your server."]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-yml",children:'services:\n palworld:\n image: thijsvanloef/palworld-server-docker:latest\n restart: unless-stopped\n container_name: palworld-server\n stop_grace_period: 30s # Set to however long you are willing to wait for the container to gracefully stop\n ports:\n - 8211:8211/udp\n - 27015:27015/udp\n environment:\n PUID: 1000\n PGID: 1000\n PORT: 8211 # Optional but recommended\n PLAYERS: 16 # Optional but recommended\n SERVER_PASSWORD: "worldofpals" # Optional but recommended\n MULTITHREADING: true\n RCON_ENABLED: true\n RCON_PORT: 25575\n TZ: "UTC"\n ADMIN_PASSWORD: "adminPasswordHere"\n COMMUNITY: false # Enable this if you want your server to show up in the community servers tab, USE WITH SERVER_PASSWORD!\n SERVER_NAME: "palworld-server-docker by Thijs van Loef"\n SERVER_DESCRIPTION: "palworld-server-docker by Thijs van Loef"\n volumes:\n - ./palworld:/palworld/\n'})}),"\n",(0,t.jsxs)(r.p,{children:["As an alternative, you can copy the ",(0,t.jsx)(r.a,{href:"https://github.com/thijsvanloef/palworld-server-docker/blob/main/.env.example",children:".env.example"})," file to a new file called ",(0,t.jsx)(r.strong,{children:".env"})," file."]}),"\n",(0,t.jsxs)(r.p,{children:["Modify it to your needs, check out the ",(0,t.jsx)(r.a,{href:"https://palworld-server-docker.loef.dev/getting-started/configuration/server-settings#environment-variables",children:"environment variables"})," section to check the correct\nvalues."]}),"\n",(0,t.jsxs)(r.p,{children:["Modify your ",(0,t.jsx)(r.a,{href:"https://github.com/thijsvanloef/palworld-server-docker/blob/main/docker-compose.yml",children:"docker-compose.yml"})," to this:"]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-yml",children:"services:\n palworld:\n image: thijsvanloef/palworld-server-docker:latest\n restart: unless-stopped\n container_name: palworld-server\n stop_grace_period: 30s # Set to however long you are willing to wait for the container to gracefully stop\n ports:\n - 8211:8211/udp\n - 27015:27015/udp\n env_file:\n - .env\n volumes:\n - ./palworld:/palworld/\n"})}),"\n",(0,t.jsx)(r.h3,{id:"starting-the-server",children:"Starting the server"}),"\n",(0,t.jsxs)(r.p,{children:["Use ",(0,t.jsx)(r.code,{children:"docker compose up -d"})," in the same folder as the ",(0,t.jsx)(r.code,{children:"docker-compose.yml"})," to start the server in the background"]}),"\n",(0,t.jsx)(r.h3,{id:"stopping-the-server",children:"Stopping the server"}),"\n",(0,t.jsxs)(r.p,{children:["Use ",(0,t.jsx)(r.code,{children:"docker compose stop"})," in the same folder as the ",(0,t.jsx)(r.code,{children:"docker-compose.yml"})," to stop the server"]}),"\n",(0,t.jsxs)(r.p,{children:["Use ",(0,t.jsx)(r.code,{children:"docker compose down --rmi all"})," in the same folder as the ",(0,t.jsx)(r.code,{children:"docker-compose.yml"}),"\nto stop and remove the server and remove the docker image from your computer"]}),"\n",(0,t.jsx)(r.h2,{id:"docker-run",children:"Docker Run"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-bash",children:'docker run -d \\\n --name palworld-server \\\n -p 8211:8211/udp \\\n -p 27015:27015/udp \\\n -v ./palworld:/palworld/ \\\n -e PUID=1000 \\\n -e PGID=1000 \\\n -e PORT=8211 \\\n -e PLAYERS=16 \\\n -e MULTITHREADING=true \\\n -e RCON_ENABLED=true \\\n -e RCON_PORT=25575 \\\n -e TZ=UTC \\\n -e ADMIN_PASSWORD="adminPasswordHere" \\\n -e SERVER_PASSWORD="worldofpals" \\\n -e COMMUNITY=false \\\n -e SERVER_NAME="palworld-server-docker by Thijs van Loef" \\\n -e SERVER_DESCRIPTION="palworld-server-docker by Thijs van Loef" \\\n --restart unless-stopped \\\n --stop-timeout 30 \\\n thijsvanloef/palworld-server-docker:latest\n'})}),"\n",(0,t.jsxs)(r.p,{children:["As an alternative, you can copy the ",(0,t.jsx)(r.a,{href:"https://github.com/thijsvanloef/palworld-server-docker/blob/main/.env.example",children:".env.example"})," file to a new file called ",(0,t.jsx)(r.strong,{children:".env"})," file."]}),"\n",(0,t.jsxs)(r.p,{children:["Modify it to your needs, check out the ",(0,t.jsx)(r.a,{href:"https://palworld-server-docker.loef.dev/getting-started/configuration/server-settings#environment-variables",children:"environment variables"})," section to check the\ncorrect values."]}),"\n",(0,t.jsx)(r.p,{children:"Change your docker run command to this:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-bash",children:"docker run -d \\\n --name palworld-server \\\n -p 8211:8211/udp \\\n -p 27015:27015/udp \\\n -v ./palworld:/palworld/ \\\n --env-file .env \\\n --restart unless-stopped \\\n --stop-timeout 30 \\\n thijsvanloef/palworld-server-docker:latest\n"})})]})}function h(e={}){const{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},8453:(e,r,n)=>{n.d(r,{R:()=>l,x:()=>i});var t=n(6540);const s={},o=t.createContext(s);function l(e){const r=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),t.createElement(o.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8a6a27d2.b342d7c3.js b/assets/js/8a6a27d2.b342d7c3.js new file mode 100644 index 000000000..c2fd2bbf2 --- /dev/null +++ b/assets/js/8a6a27d2.b342d7c3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[558],{5846:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>d,contentTitle:()=>l,default:()=>p,frontMatter:()=>s,metadata:()=>i,toc:()=>a});var o=n(4848),t=n(8453);const s={sidebar_position:1,slug:"/",title:"Palworld Dedicated server Quick Setup",description:"This guide will help you get setup with hosting your Palworld Dedicated server on Docker! This Palworld server quick setup will only take a couple of minutes and you'll have a working server.",keywords:["Palworld","palworld dedicated server","how to setup palworld dedicated server","palworld server docker","palworld docker"],image:"../assets/Palworld_Banner.jpg",sidebar_label:"Quick Setup"},l="Palworld Dedicated server Quick Setup",i={id:"getting-started/quick-setup",title:"Palworld Dedicated server Quick Setup",description:"This guide will help you get setup with hosting your Palworld Dedicated server on Docker! This Palworld server quick setup will only take a couple of minutes and you'll have a working server.",source:"@site/docs/getting-started/quick-setup.md",sourceDirName:"getting-started",slug:"/",permalink:"/",draft:!1,unlisted:!1,editUrl:"https://github.com/thijsvanloef/palworld-server-docker/tree/main/docusaurus/docs/getting-started/quick-setup.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,slug:"/",title:"Palworld Dedicated server Quick Setup",description:"This guide will help you get setup with hosting your Palworld Dedicated server on Docker! This Palworld server quick setup will only take a couple of minutes and you'll have a working server.",keywords:["Palworld","palworld dedicated server","how to setup palworld dedicated server","palworld server docker","palworld docker"],image:"../assets/Palworld_Banner.jpg",sidebar_label:"Quick Setup"},sidebar:"tutorialSidebar",previous:{title:"Getting Started",permalink:"/category/getting-started"},next:{title:"Configuration",permalink:"/category/configuration"}},d={},a=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Server Requirements",id:"server-requirements",level:2},{value:"Docker Compose",id:"docker-compose",level:2},{value:"Starting the server",id:"starting-the-server",level:3},{value:"Stopping the server",id:"stopping-the-server",level:3},{value:"Docker Run",id:"docker-run",level:2}];function c(e){const r={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(r.h1,{id:"palworld-dedicated-server-quick-setup",children:"Palworld Dedicated server Quick Setup"}),"\n",(0,o.jsx)(r.p,{children:"This guide will help you get setup with hosting your Palworld Dedicated server on Docker!\nThis Palworld server quick setup will only take a couple of minutes and you'll have a working server."}),"\n",(0,o.jsx)(r.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,o.jsxs)(r.admonition,{type:"warning",children:[(0,o.jsx)(r.p,{children:"At the moment, Xbox Gamepass/Xbox Console players will not be able to join a dedicated server."}),(0,o.jsx)(r.p,{children:"They will need to join players using the invite code and are limited to sessions of 4 players max."})]}),"\n",(0,o.jsxs)(r.ul,{children:["\n",(0,o.jsx)(r.li,{children:"Virtualization enabled in the BIOS/UEFI"}),"\n",(0,o.jsxs)(r.li,{children:["Must have ",(0,o.jsx)(r.a,{href:"https://docs.docker.com/engine/install/",children:"Docker"})," installed"]}),"\n"]}),"\n",(0,o.jsx)(r.h2,{id:"server-requirements",children:"Server Requirements"}),"\n",(0,o.jsxs)(r.table,{children:[(0,o.jsx)(r.thead,{children:(0,o.jsxs)(r.tr,{children:[(0,o.jsx)(r.th,{children:"Resource"}),(0,o.jsx)(r.th,{children:"Minimum"}),(0,o.jsx)(r.th,{children:"Recommended"})]})}),(0,o.jsxs)(r.tbody,{children:[(0,o.jsxs)(r.tr,{children:[(0,o.jsx)(r.td,{children:"CPU"}),(0,o.jsx)(r.td,{children:"4 cores"}),(0,o.jsx)(r.td,{children:"4+ cores"})]}),(0,o.jsxs)(r.tr,{children:[(0,o.jsx)(r.td,{children:"RAM"}),(0,o.jsx)(r.td,{children:"16GB"}),(0,o.jsx)(r.td,{children:"Recommend over 32GB for stable operation"})]}),(0,o.jsxs)(r.tr,{children:[(0,o.jsx)(r.td,{children:"Storage"}),(0,o.jsx)(r.td,{children:"8GB"}),(0,o.jsx)(r.td,{children:"20GB"})]})]})]}),"\n",(0,o.jsx)(r.h2,{id:"docker-compose",children:"Docker Compose"}),"\n",(0,o.jsxs)(r.p,{children:["This repository includes an example\n",(0,o.jsx)(r.a,{href:"https://github.com/thijsvanloef/palworld-server-docker/blob/main/docker-compose.yml",children:"docker-compose.yml"}),"\nfile you can use to set up your server."]}),"\n",(0,o.jsx)(r.pre,{children:(0,o.jsx)(r.code,{className:"language-yml",children:'services:\n palworld:\n image: thijsvanloef/palworld-server-docker:latest\n restart: unless-stopped\n container_name: palworld-server\n stop_grace_period: 30s # Set to however long you are willing to wait for the container to gracefully stop\n ports:\n - 8211:8211/udp\n - 27015:27015/udp\n environment:\n PUID: 1000\n PGID: 1000\n PORT: 8211 # Optional but recommended\n PLAYERS: 16 # Optional but recommended\n SERVER_PASSWORD: "worldofpals" # Optional but recommended\n MULTITHREADING: true\n RCON_ENABLED: true\n RCON_PORT: 25575\n TZ: "UTC"\n ADMIN_PASSWORD: "adminPasswordHere"\n COMMUNITY: false # Enable this if you want your server to show up in the community servers tab, USE WITH SERVER_PASSWORD!\n SERVER_NAME: "palworld-server-docker by Thijs van Loef"\n SERVER_DESCRIPTION: "palworld-server-docker by Thijs van Loef"\n volumes:\n - ./palworld:/palworld/\n'})}),"\n",(0,o.jsxs)(r.p,{children:["As an alternative, you can copy the ",(0,o.jsx)(r.a,{href:"https://github.com/thijsvanloef/palworld-server-docker/blob/main/.env.example",children:".env.example"})," file to a new file called ",(0,o.jsx)(r.strong,{children:".env"})," file."]}),"\n",(0,o.jsxs)(r.p,{children:["Modify it to your needs, check out the ",(0,o.jsx)(r.a,{href:"https://palworld-server-docker.loef.dev/getting-started/configuration/server-settings#environment-variables",children:"environment variables"})," section to check the correct\nvalues."]}),"\n",(0,o.jsxs)(r.p,{children:["Modify your ",(0,o.jsx)(r.a,{href:"https://github.com/thijsvanloef/palworld-server-docker/blob/main/docker-compose.yml",children:"docker-compose.yml"})," to this:"]}),"\n",(0,o.jsx)(r.pre,{children:(0,o.jsx)(r.code,{className:"language-yml",children:"services:\n palworld:\n image: thijsvanloef/palworld-server-docker:latest\n restart: unless-stopped\n container_name: palworld-server\n stop_grace_period: 30s # Set to however long you are willing to wait for the container to gracefully stop\n ports:\n - 8211:8211/udp\n - 27015:27015/udp\n env_file:\n - .env\n volumes:\n - ./palworld:/palworld/\n"})}),"\n",(0,o.jsx)(r.h3,{id:"starting-the-server",children:"Starting the server"}),"\n",(0,o.jsxs)(r.p,{children:["Use ",(0,o.jsx)(r.code,{children:"docker compose up -d"})," in the same folder as the ",(0,o.jsx)(r.code,{children:"docker-compose.yml"})," to start the server in the background"]}),"\n",(0,o.jsx)(r.h3,{id:"stopping-the-server",children:"Stopping the server"}),"\n",(0,o.jsxs)(r.p,{children:["Use ",(0,o.jsx)(r.code,{children:"docker compose stop"})," in the same folder as the ",(0,o.jsx)(r.code,{children:"docker-compose.yml"})," to stop the server"]}),"\n",(0,o.jsxs)(r.p,{children:["Use ",(0,o.jsx)(r.code,{children:"docker compose down --rmi all"})," in the same folder as the ",(0,o.jsx)(r.code,{children:"docker-compose.yml"}),"\nto stop and remove the server and remove the docker image from your computer"]}),"\n",(0,o.jsx)(r.h2,{id:"docker-run",children:"Docker Run"}),"\n",(0,o.jsx)(r.pre,{children:(0,o.jsx)(r.code,{className:"language-bash",children:'docker run -d \\\n --name palworld-server \\\n -p 8211:8211/udp \\\n -p 27015:27015/udp \\\n -v ./palworld:/palworld/ \\\n -e PUID=1000 \\\n -e PGID=1000 \\\n -e PORT=8211 \\\n -e PLAYERS=16 \\\n -e MULTITHREADING=true \\\n -e RCON_ENABLED=true \\\n -e RCON_PORT=25575 \\\n -e TZ=UTC \\\n -e ADMIN_PASSWORD="adminPasswordHere" \\\n -e SERVER_PASSWORD="worldofpals" \\\n -e COMMUNITY=false \\\n -e SERVER_NAME="palworld-server-docker by Thijs van Loef" \\\n -e SERVER_DESCRIPTION="palworld-server-docker by Thijs van Loef" \\\n --restart unless-stopped \\\n --stop-timeout 30 \\\n thijsvanloef/palworld-server-docker:latest\n'})}),"\n",(0,o.jsxs)(r.p,{children:["As an alternative, you can copy the ",(0,o.jsx)(r.a,{href:"https://github.com/thijsvanloef/palworld-server-docker/blob/main/.env.example",children:".env.example"})," file to a new file called ",(0,o.jsx)(r.strong,{children:".env"})," file."]}),"\n",(0,o.jsxs)(r.p,{children:["Modify it to your needs, check out the ",(0,o.jsx)(r.a,{href:"https://palworld-server-docker.loef.dev/getting-started/configuration/server-settings#environment-variables",children:"environment variables"})," section to check the\ncorrect values."]}),"\n",(0,o.jsx)(r.p,{children:"Change your docker run command to this:"}),"\n",(0,o.jsx)(r.pre,{children:(0,o.jsx)(r.code,{className:"language-bash",children:"docker run -d \\\n --name palworld-server \\\n -p 8211:8211/udp \\\n -p 27015:27015/udp \\\n -v ./palworld:/palworld/ \\\n --env-file .env \\\n --restart unless-stopped \\\n --stop-timeout 30 \\\n thijsvanloef/palworld-server-docker:latest\n"})})]})}function p(e={}){const{wrapper:r}={...(0,t.R)(),...e.components};return r?(0,o.jsx)(r,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},8453:(e,r,n)=>{n.d(r,{R:()=>l,x:()=>i});var o=n(6540);const t={},s=o.createContext(t);function l(e){const r=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),o.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8de80f25.2fa1f1b8.js b/assets/js/8de80f25.2fa1f1b8.js deleted file mode 100644 index 9592447b1..000000000 --- a/assets/js/8de80f25.2fa1f1b8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[825],{8960:(e,s,o)=>{o.r(s),o.d(s,{assets:()=>c,contentTitle:()=>d,default:()=>l,frontMatter:()=>i,metadata:()=>t,toc:()=>a});var n=o(4848),r=o(8453);const i={sidebar_position:1},d="Using discord webhooks",t={id:"guides/discord/discord-webhooks",title:"Using discord webhooks",description:"1. Generate a webhook url for your discord server in your discord's server settings.",source:"@site/docs/guides/discord/discord-webhooks.md",sourceDirName:"guides/discord",slug:"/guides/discord/discord-webhooks",permalink:"/guides/discord/discord-webhooks",draft:!1,unlisted:!1,editUrl:"https://github.com/thijsvanloef/palworld-server-docker/tree/main/docusaurus/docs/guides/discord/discord-webhooks.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Discord integration",permalink:"/category/discord-integration"},next:{title:"RCON (Advanced)",permalink:"/category/rcon-advanced"}},c={},a=[];function u(e){const s={admonition:"admonition",code:"code",h1:"h1",li:"li",ol:"ol",p:"p",pre:"pre",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.h1,{id:"using-discord-webhooks",children:"Using discord webhooks"}),"\n",(0,n.jsxs)(s.ol,{children:["\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsx)(s.p,{children:"Generate a webhook url for your discord server in your discord's server settings."}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["Set the environment variable with the unique token at the end of the discord webhook url example: ",(0,n.jsx)(s.code,{children:"https://discord.com/api/webhooks/1234567890/abcde"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"send discord messages with docker run:"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-sh",children:'-e DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/1234567890/abcde" \\\n-e DISCORD_PRE_UPDATE_BOOT_MESSAGE="Server is updating..." \\\n'})}),"\n",(0,n.jsx)(s.p,{children:"send discord messages with docker compose:"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-yaml",children:"- DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/1234567890/abcde\n- DISCORD_PRE_UPDATE_BOOT_MESSAGE=Server is updating...\n"})}),"\n",(0,n.jsx)(s.admonition,{type:"tip",children:(0,n.jsxs)(s.p,{children:["You can mention people in the messages by adding ",(0,n.jsx)(s.code,{children:"<@user_id>"})," in the message!"]})})]})}function l(e={}){const{wrapper:s}={...(0,r.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},8453:(e,s,o)=>{o.d(s,{R:()=>d,x:()=>t});var n=o(6540);const r={},i=n.createContext(r);function d(e){const s=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function t(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),n.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8de80f25.a03cbdcc.js b/assets/js/8de80f25.a03cbdcc.js new file mode 100644 index 000000000..494ae61ce --- /dev/null +++ b/assets/js/8de80f25.a03cbdcc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[825],{8960:(e,o,r)=>{r.r(o),r.d(o,{assets:()=>a,contentTitle:()=>t,default:()=>h,frontMatter:()=>d,metadata:()=>n,toc:()=>c});var s=r(4848),i=r(8453);const d={sidebar_position:1,title:"Palworld Server Discord webhooks",description:"How to use the Palworld Dedicated server Discord Webhook integration to get notified when your server is starting, stopping, and updating!",keywords:["Palworld","palworld dedicated server","Palworld dedicated server Discord Webhooks","Palworld Discord Webhooks"],image:"../../assets/Palworld_Banner.jpg",sidebar_label:"Using Discord Webhooks"},t="Using discord webhooks with Palworld Server",n={id:"guides/discord/discord-webhooks",title:"Palworld Server Discord webhooks",description:"How to use the Palworld Dedicated server Discord Webhook integration to get notified when your server is starting, stopping, and updating!",source:"@site/docs/guides/discord/discord-webhooks.md",sourceDirName:"guides/discord",slug:"/guides/discord/discord-webhooks",permalink:"/guides/discord/discord-webhooks",draft:!1,unlisted:!1,editUrl:"https://github.com/thijsvanloef/palworld-server-docker/tree/main/docusaurus/docs/guides/discord/discord-webhooks.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Palworld Server Discord webhooks",description:"How to use the Palworld Dedicated server Discord Webhook integration to get notified when your server is starting, stopping, and updating!",keywords:["Palworld","palworld dedicated server","Palworld dedicated server Discord Webhooks","Palworld Discord Webhooks"],image:"../../assets/Palworld_Banner.jpg",sidebar_label:"Using Discord Webhooks"},sidebar:"tutorialSidebar",previous:{title:"Discord integration",permalink:"/category/discord-integration"},next:{title:"RCON (Advanced)",permalink:"/category/rcon-advanced"}},a={},c=[{value:"Getting started",id:"getting-started",level:2}];function l(e){const o={admonition:"admonition",code:"code",h1:"h1",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.h1,{id:"using-discord-webhooks-with-palworld-server",children:"Using discord webhooks with Palworld Server"}),"\n",(0,s.jsx)(o.p,{children:"How to use the Palworld Dedicated server Discord Webhook integration to\nget notified when your server is starting, stopping, and updating!"}),"\n",(0,s.jsx)(o.h2,{id:"getting-started",children:"Getting started"}),"\n",(0,s.jsxs)(o.ol,{children:["\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsx)(o.p,{children:"Generate a webhook url for your discord server in your discord's server settings."}),"\n"]}),"\n",(0,s.jsxs)(o.li,{children:["\n",(0,s.jsxs)(o.p,{children:["Set the environment variable with the unique token at the end of the discord webhook url example: ",(0,s.jsx)(o.code,{children:"https://discord.com/api/webhooks/1234567890/abcde"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(o.p,{children:"send discord messages with docker run:"}),"\n",(0,s.jsx)(o.pre,{children:(0,s.jsx)(o.code,{className:"language-sh",children:'-e DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/1234567890/abcde" \\\n-e DISCORD_PRE_UPDATE_BOOT_MESSAGE="Server is updating..." \\\n'})}),"\n",(0,s.jsx)(o.p,{children:"send discord messages with docker compose:"}),"\n",(0,s.jsx)(o.pre,{children:(0,s.jsx)(o.code,{className:"language-yaml",children:"- DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/1234567890/abcde\n- DISCORD_PRE_UPDATE_BOOT_MESSAGE=Server is updating...\n"})}),"\n",(0,s.jsx)(o.admonition,{type:"tip",children:(0,s.jsxs)(o.p,{children:["You can mention people in the messages by adding ",(0,s.jsx)(o.code,{children:"<@user_id>"})," in the message!"]})})]})}function h(e={}){const{wrapper:o}={...(0,i.R)(),...e.components};return o?(0,s.jsx)(o,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},8453:(e,o,r)=>{r.d(o,{R:()=>t,x:()=>n});var s=r(6540);const i={},d=s.createContext(i);function t(e){const o=s.useContext(d);return s.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function n(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),s.createElement(d.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.3514c406.js b/assets/js/935f2afb.3514c406.js new file mode 100644 index 000000000..e5a086b1a --- /dev/null +++ b/assets/js/935f2afb.3514c406.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[581],{5610:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"category","label":"Getting Started","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Quick Setup","href":"/","docId":"getting-started/quick-setup","unlisted":false},{"type":"category","label":"Configuration","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Server Settings","href":"/getting-started/configuration/server-settings","docId":"getting-started/configuration/server-settings","unlisted":false},{"type":"link","label":"Game Settings","href":"/getting-started/configuration/game-settings","docId":"getting-started/configuration/game-settings","unlisted":false},{"type":"link","label":"Engine Settings","href":"/getting-started/configuration/engine-settings","docId":"getting-started/configuration/engine-settings","unlisted":false},{"type":"link","label":"Server Commands (RCON)","href":"/getting-started/configuration/server-commands","docId":"getting-started/configuration/server-commands","unlisted":false}],"href":"/category/configuration"}],"href":"/category/getting-started"},{"type":"category","label":"Guides","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Backup","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Creating a backup","href":"/guides/backup/creating-backup","docId":"guides/backup/creating-backup","unlisted":false},{"type":"link","label":"Restoring a backup","href":"/guides/backup/restoring-backup","docId":"guides/backup/restoring-backup","unlisted":false},{"type":"link","label":"Configure automated backups","href":"/guides/backup/automated-backup","docId":"guides/backup/automated-backup","unlisted":false}],"href":"/category/backup"},{"type":"category","label":"Discord integration","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Using Discord Webhooks","href":"/guides/discord/discord-webhooks","docId":"guides/discord/discord-webhooks","unlisted":false}],"href":"/category/discord-integration"},{"type":"category","label":"RCON (Advanced)","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"RCON Wrapper","href":"/guides/rcon/rcon-wrapper","docId":"guides/rcon/rcon-wrapper","unlisted":false}],"href":"/category/rcon-advanced"},{"type":"link","label":"Automatic Reboots","href":"/guides/automatic-reboots","docId":"guides/automatic-reboots","unlisted":false},{"type":"link","label":"Automatic Updates","href":"/guides/automatic-updates","docId":"guides/automatic-updates","unlisted":false},{"type":"link","label":"Running without root","href":"/guides/running-without-root","docId":"guides/running-without-root","unlisted":false},{"type":"link","label":"Pinning a Game Version","href":"/guides/pinning-game-version","docId":"guides/pinning-game-version","unlisted":false},{"type":"link","label":"Stopping the server when no players are connected","href":"/guides/automatic-server-stopping","docId":"guides/automatic-server-stopping","unlisted":false}],"href":"/category/guides"},{"type":"category","label":"Advanced","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Palworld Directory","href":"/advanced/palworld-directory","docId":"advanced/palworld-directory","unlisted":false},{"type":"link","label":"Kubernetes","href":"/advanced/kubernetes","docId":"advanced/kubernetes","unlisted":false}],"href":"/category/advanced"},{"type":"link","label":"Versions","href":"/versions/","docId":"versions/versions","unlisted":false},{"type":"link","label":"Known issues","href":"/known-issues/","docId":"known-issues/known-issues","unlisted":false},{"type":"link","label":"Help translate the docs","href":"/help-translate/","docId":"help-translate/help-translate","unlisted":false}]},"docs":{"advanced/kubernetes":{"id":"advanced/kubernetes","title":"Palworld Dedicated Server on Kubernetes","description":"How to run Palworld Dedicated server on Kubernetes.","sidebar":"tutorialSidebar"},"advanced/palworld-directory":{"id":"advanced/palworld-directory","title":"Palworld Directory","description":"Everything related to the Palworld data is inside the /palworld folder inside the container","sidebar":"tutorialSidebar"},"getting-started/configuration/engine-settings":{"id":"getting-started/configuration/engine-settings","title":"Palworld Server Engine Settings","description":"How to change the Palworld Engine Settings (Engine.ini file) using Docker Environment variables.","sidebar":"tutorialSidebar"},"getting-started/configuration/game-settings":{"id":"getting-started/configuration/game-settings","title":"Palworld Server Game Settings","description":"How to change the Palworld Game Settings (PalWorldSettings.ini file) using Docker Environment variables.","sidebar":"tutorialSidebar"},"getting-started/configuration/server-commands":{"id":"getting-started/configuration/server-commands","title":"Palworld Dedicated Server Commands (RCON)","description":"How to use Palworld Dedicated server commands to manage your server, including Kicking, Banning and teleporting players.","sidebar":"tutorialSidebar"},"getting-started/configuration/server-settings":{"id":"getting-started/configuration/server-settings","title":"Palworld Dedicated Server Settings","description":"How to change the Palworld Server Settings using Docker Environment variables.","sidebar":"tutorialSidebar"},"getting-started/quick-setup":{"id":"getting-started/quick-setup","title":"Palworld Dedicated server Quick Setup","description":"This guide will help you get setup with hosting your Palworld Dedicated server on Docker! This Palworld server quick setup will only take a couple of minutes and you\'ll have a working server.","sidebar":"tutorialSidebar"},"guides/automatic-reboots":{"id":"guides/automatic-reboots","title":"Automatic Reboots","description":"Configuring Automatic Reboots with Cron","sidebar":"tutorialSidebar"},"guides/automatic-server-stopping":{"id":"guides/automatic-server-stopping","title":"Stopping the server when no players are connected","description":"User dnwjn created a container that stops the palworld server","sidebar":"tutorialSidebar"},"guides/automatic-updates":{"id":"guides/automatic-updates","title":"Automatic Updates","description":"Configuring Automatic Updates with Cron","sidebar":"tutorialSidebar"},"guides/backup/automated-backup":{"id":"guides/backup/automated-backup","title":"Configure automated backups","description":"The server is automatically backed up everynight at midnight according to the timezone set with TZ","sidebar":"tutorialSidebar"},"guides/backup/creating-backup":{"id":"guides/backup/creating-backup","title":"Creating a backup","description":"To create a backup of the game\'s save at the current point in time, use the command:","sidebar":"tutorialSidebar"},"guides/backup/restoring-backup":{"id":"guides/backup/restoring-backup","title":"Restoring a backup","description":"Interactively restore from a backup","sidebar":"tutorialSidebar"},"guides/discord/discord-webhooks":{"id":"guides/discord/discord-webhooks","title":"Palworld Server Discord webhooks","description":"How to use the Palworld Dedicated server Discord Webhook integration to get notified when your server is starting, stopping, and updating!","sidebar":"tutorialSidebar"},"guides/pinning-game-version":{"id":"guides/pinning-game-version","title":"Pinning a Game Version","description":"Downgrading to a lower game version is possible, but it is unknown what impact it will have on existing saves.","sidebar":"tutorialSidebar"},"guides/rcon/rcon-wrapper":{"id":"guides/rcon/rcon-wrapper","title":"RCON Wrapper","description":"GitHub user valamidev made a plugin for palworld-server-docker","sidebar":"tutorialSidebar"},"guides/running-without-root":{"id":"guides/running-without-root","title":"Running without root","description":"This is only for advanced users","sidebar":"tutorialSidebar"},"help-translate/help-translate":{"id":"help-translate/help-translate","title":"Help translate the docs","description":"I\'m always looking for people to translate the documentation into different languages.","sidebar":"tutorialSidebar"},"known-issues/known-issues":{"id":"known-issues/known-issues","title":"Palworld Dedicated Server Known Issues","description":"The current known issues of the Palworld Dedicated server running on Docker, including S_API FAIL, Setting breakpad minidump AppID = 2394010 and more.","sidebar":"tutorialSidebar"},"versions/versions":{"id":"versions/versions","title":"Versions","description":"This page shows how the Docker images tags are versioned.","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.d620a4a3.js b/assets/js/935f2afb.d620a4a3.js deleted file mode 100644 index 5315a67fd..000000000 --- a/assets/js/935f2afb.d620a4a3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[581],{5610:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"category","label":"Getting Started","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Quick Setup","href":"/","docId":"getting-started/quick-setup","unlisted":false},{"type":"category","label":"Configuration","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Server Settings","href":"/getting-started/configuration/server-settings","docId":"getting-started/configuration/server-settings","unlisted":false},{"type":"link","label":"Game Settings","href":"/getting-started/configuration/game-settings","docId":"getting-started/configuration/game-settings","unlisted":false},{"type":"link","label":"Engine Settings","href":"/getting-started/configuration/engine-settings","docId":"getting-started/configuration/engine-settings","unlisted":false},{"type":"link","label":"Server Commands (RCON)","href":"/getting-started/configuration/server-commands","docId":"getting-started/configuration/server-commands","unlisted":false}],"href":"/category/configuration"}],"href":"/category/getting-started"},{"type":"category","label":"Guides","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Backup","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Creating a backup","href":"/guides/backup/creating-backup","docId":"guides/backup/creating-backup","unlisted":false},{"type":"link","label":"Restoring a backup","href":"/guides/backup/restoring-backup","docId":"guides/backup/restoring-backup","unlisted":false},{"type":"link","label":"Configure automated backups","href":"/guides/backup/automated-backup","docId":"guides/backup/automated-backup","unlisted":false}],"href":"/category/backup"},{"type":"category","label":"Discord integration","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Using discord webhooks","href":"/guides/discord/discord-webhooks","docId":"guides/discord/discord-webhooks","unlisted":false}],"href":"/category/discord-integration"},{"type":"category","label":"RCON (Advanced)","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"RCON Wrapper","href":"/guides/rcon/rcon-wrapper","docId":"guides/rcon/rcon-wrapper","unlisted":false}],"href":"/category/rcon-advanced"},{"type":"link","label":"Automatic Reboots","href":"/guides/automatic-reboots","docId":"guides/automatic-reboots","unlisted":false},{"type":"link","label":"Automatic Updates","href":"/guides/automatic-updates","docId":"guides/automatic-updates","unlisted":false},{"type":"link","label":"Running without root","href":"/guides/running-without-root","docId":"guides/running-without-root","unlisted":false},{"type":"link","label":"Pinning a Game Version","href":"/guides/pinning-game-version","docId":"guides/pinning-game-version","unlisted":false},{"type":"link","label":"Stopping the server when no players are connected","href":"/guides/automatic-server-stopping","docId":"guides/automatic-server-stopping","unlisted":false}],"href":"/category/guides"},{"type":"category","label":"Advanced","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Palworld Directory","href":"/advanced/palworld-directory","docId":"advanced/palworld-directory","unlisted":false},{"type":"link","label":"Kubernetes","href":"/advanced/kubernetes","docId":"advanced/kubernetes","unlisted":false}],"href":"/category/advanced"},{"type":"link","label":"Versions","href":"/versions/","docId":"versions/versions","unlisted":false},{"type":"link","label":"Known Issues","href":"/known-issues/","docId":"known-issues/known-issues","unlisted":false},{"type":"link","label":"Help translate the docs","href":"/help-translate/","docId":"help-translate/help-translate","unlisted":false}]},"docs":{"advanced/kubernetes":{"id":"advanced/kubernetes","title":"Kubernetes","description":"All files you will need to deploy this container to kubernetes are located in the k8s folder.","sidebar":"tutorialSidebar"},"advanced/palworld-directory":{"id":"advanced/palworld-directory","title":"Palworld Directory","description":"Everything related to the Palworld data is inside the /palworld folder inside the container","sidebar":"tutorialSidebar"},"getting-started/configuration/engine-settings":{"id":"getting-started/configuration/engine-settings","title":"Engine Settings","description":"Changing Engine Settings with Environment variables.","sidebar":"tutorialSidebar"},"getting-started/configuration/game-settings":{"id":"getting-started/configuration/game-settings","title":"Game Settings","description":"Changing Game Settings with Environment variables.","sidebar":"tutorialSidebar"},"getting-started/configuration/server-commands":{"id":"getting-started/configuration/server-commands","title":"Server Commands (RCON)","description":"How to use RCON to interact with the server.","sidebar":"tutorialSidebar"},"getting-started/configuration/server-settings":{"id":"getting-started/configuration/server-settings","title":"Server Settings","description":"Changing Server Settings using environment variables.","sidebar":"tutorialSidebar"},"getting-started/quick-setup":{"id":"getting-started/quick-setup","title":"Quick Setup","description":"Let\'s get you on your way with the Palworld Dedicated server!","sidebar":"tutorialSidebar"},"guides/automatic-reboots":{"id":"guides/automatic-reboots","title":"Automatic Reboots","description":"Configuring Automatic Reboots with Cron","sidebar":"tutorialSidebar"},"guides/automatic-server-stopping":{"id":"guides/automatic-server-stopping","title":"Stopping the server when no players are connected","description":"User dnwjn created a container that stops the palworld server","sidebar":"tutorialSidebar"},"guides/automatic-updates":{"id":"guides/automatic-updates","title":"Automatic Updates","description":"Configuring Automatic Updates with Cron","sidebar":"tutorialSidebar"},"guides/backup/automated-backup":{"id":"guides/backup/automated-backup","title":"Configure automated backups","description":"The server is automatically backed up everynight at midnight according to the timezone set with TZ","sidebar":"tutorialSidebar"},"guides/backup/creating-backup":{"id":"guides/backup/creating-backup","title":"Creating a backup","description":"To create a backup of the game\'s save at the current point in time, use the command:","sidebar":"tutorialSidebar"},"guides/backup/restoring-backup":{"id":"guides/backup/restoring-backup","title":"Restoring a backup","description":"Interactively restore from a backup","sidebar":"tutorialSidebar"},"guides/discord/discord-webhooks":{"id":"guides/discord/discord-webhooks","title":"Using discord webhooks","description":"1. Generate a webhook url for your discord server in your discord\'s server settings.","sidebar":"tutorialSidebar"},"guides/pinning-game-version":{"id":"guides/pinning-game-version","title":"Pinning a Game Version","description":"Downgrading to a lower game version is possible, but it is unknown what impact it will have on existing saves.","sidebar":"tutorialSidebar"},"guides/rcon/rcon-wrapper":{"id":"guides/rcon/rcon-wrapper","title":"RCON Wrapper","description":"GitHub user valamidev made a plugin for palworld-server-docker","sidebar":"tutorialSidebar"},"guides/running-without-root":{"id":"guides/running-without-root","title":"Running without root","description":"This is only for advanced users","sidebar":"tutorialSidebar"},"help-translate/help-translate":{"id":"help-translate/help-translate","title":"Help translate the docs","description":"I\'m always looking for people to translate the documentation into different languages.","sidebar":"tutorialSidebar"},"known-issues/known-issues":{"id":"known-issues/known-issues","title":"Known Issues","description":"Known issues of using this Docker image.","sidebar":"tutorialSidebar"},"versions/versions":{"id":"versions/versions","title":"Versions","description":"This page shows how the Docker images tags are versioned.","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/9c401ef1.461b9dc1.js b/assets/js/9c401ef1.141ceceb.js similarity index 97% rename from assets/js/9c401ef1.461b9dc1.js rename to assets/js/9c401ef1.141ceceb.js index ebd4f05e2..7ccf19248 100644 --- a/assets/js/9c401ef1.461b9dc1.js +++ b/assets/js/9c401ef1.141ceceb.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[458],{9389:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var r=n(4848),t=n(8453);const o={sidebar_position:4},i="Versions",c={id:"versions/versions",title:"Versions",description:"This page shows how the Docker images tags are versioned.",source:"@site/docs/versions/versions.md",sourceDirName:"versions",slug:"/versions/",permalink:"/versions/",draft:!1,unlisted:!1,editUrl:"https://github.com/thijsvanloef/palworld-server-docker/tree/main/docusaurus/docs/versions/versions.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Kubernetes",permalink:"/advanced/kubernetes"},next:{title:"Known Issues",permalink:"/known-issues/"}},d={},a=[{value:"How the versions are structured",id:"how-the-versions-are-structured",level:2}];function l(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",ul:"ul",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.h1,{id:"versions",children:"Versions"}),"\n",(0,r.jsx)(s.p,{children:"This page shows how the Docker images tags are versioned."}),"\n",(0,r.jsx)(s.h2,{id:"how-the-versions-are-structured",children:"How the versions are structured"}),"\n",(0,r.jsxs)(s.p,{children:["All of the images are tagged according to ",(0,r.jsx)(s.a,{href:"https://semver.org/",children:"Semver"})," except for the ",(0,r.jsx)(s.code,{children:"latest"})," and ",(0,r.jsx)(s.code,{children:"dev"})," images."]}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"latest"}),": Always the latest release"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"dev"}),": Latest in progress version (Used only for testing)"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"vX"}),": Latest Major version"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"vX.X"}),": Latest Minor version"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"vX.X.X"}),": Specific Version"]}),"\n"]})]})}function u(e={}){const{wrapper:s}={...(0,t.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},8453:(e,s,n)=>{n.d(s,{R:()=>i,x:()=>c});var r=n(6540);const t={},o=r.createContext(t);function i(e){const s=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),r.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[458],{9389:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var r=n(4848),t=n(8453);const o={sidebar_position:4},i="Versions",c={id:"versions/versions",title:"Versions",description:"This page shows how the Docker images tags are versioned.",source:"@site/docs/versions/versions.md",sourceDirName:"versions",slug:"/versions/",permalink:"/versions/",draft:!1,unlisted:!1,editUrl:"https://github.com/thijsvanloef/palworld-server-docker/tree/main/docusaurus/docs/versions/versions.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Kubernetes",permalink:"/advanced/kubernetes"},next:{title:"Known issues",permalink:"/known-issues/"}},d={},a=[{value:"How the versions are structured",id:"how-the-versions-are-structured",level:2}];function l(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",ul:"ul",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.h1,{id:"versions",children:"Versions"}),"\n",(0,r.jsx)(s.p,{children:"This page shows how the Docker images tags are versioned."}),"\n",(0,r.jsx)(s.h2,{id:"how-the-versions-are-structured",children:"How the versions are structured"}),"\n",(0,r.jsxs)(s.p,{children:["All of the images are tagged according to ",(0,r.jsx)(s.a,{href:"https://semver.org/",children:"Semver"})," except for the ",(0,r.jsx)(s.code,{children:"latest"})," and ",(0,r.jsx)(s.code,{children:"dev"})," images."]}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"latest"}),": Always the latest release"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"dev"}),": Latest in progress version (Used only for testing)"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"vX"}),": Latest Major version"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"vX.X"}),": Latest Minor version"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"vX.X.X"}),": Specific Version"]}),"\n"]})]})}function u(e={}){const{wrapper:s}={...(0,t.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},8453:(e,s,n)=>{n.d(s,{R:()=>i,x:()=>c});var r=n(6540);const t={},o=r.createContext(t);function i(e){const s=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),r.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c3826a0d.82a56cf4.js b/assets/js/c3826a0d.82a56cf4.js new file mode 100644 index 000000000..6fec1a68b --- /dev/null +++ b/assets/js/c3826a0d.82a56cf4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[168],{6804:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>o,frontMatter:()=>l,metadata:()=>s,toc:()=>h});var n=r(4848),d=r(8453);const l={sidebar_position:2,title:"Palworld Server Game Settings",description:"How to change the Palworld Game Settings (PalWorldSettings.ini file) using Docker Environment variables.",keywords:["Palworld","palworld dedicated server","Palworld PalWorldSettings.ini","palworld game settings","PalWorldSettings.ini"],image:"../../assets/Palworld_Banner.jpg",sidebar_label:"Game Settings"},i="Palworld Server Game Settings",s={id:"getting-started/configuration/game-settings",title:"Palworld Server Game Settings",description:"How to change the Palworld Game Settings (PalWorldSettings.ini file) using Docker Environment variables.",source:"@site/docs/getting-started/configuration/game-settings.md",sourceDirName:"getting-started/configuration",slug:"/getting-started/configuration/game-settings",permalink:"/getting-started/configuration/game-settings",draft:!1,unlisted:!1,editUrl:"https://github.com/thijsvanloef/palworld-server-docker/tree/main/docusaurus/docs/getting-started/configuration/game-settings.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Palworld Server Game Settings",description:"How to change the Palworld Game Settings (PalWorldSettings.ini file) using Docker Environment variables.",keywords:["Palworld","palworld dedicated server","Palworld PalWorldSettings.ini","palworld game settings","PalWorldSettings.ini"],image:"../../assets/Palworld_Banner.jpg",sidebar_label:"Game Settings"},sidebar:"tutorialSidebar",previous:{title:"Server Settings",permalink:"/getting-started/configuration/server-settings"},next:{title:"Engine Settings",permalink:"/getting-started/configuration/engine-settings"}},c={},h=[{value:"With Environment Variables",id:"with-environment-variables",level:2},{value:"Manually",id:"manually",level:3}];function a(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,d.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"palworld-server-game-settings",children:"Palworld Server Game Settings"}),"\n",(0,n.jsx)(t.p,{children:"How to change the Palworld Game Settings (PalWorldSettings.ini file) using Docker Environment variables."}),"\n",(0,n.jsx)(t.h2,{id:"with-environment-variables",children:"With Environment Variables"}),"\n",(0,n.jsxs)(t.admonition,{type:"warning",children:[(0,n.jsx)(t.p,{children:"These Environment Variables and Settings are subject to change since the game is still in beta."}),(0,n.jsxs)(t.p,{children:["Check out the ",(0,n.jsx)(t.a,{href:"https://tech.palworldgame.com/optimize-game-balance",children:"official webpage for the supported parameters."})]})]}),"\n",(0,n.jsx)(t.p,{children:"Converting server settings to environment variables follow the same principles (with some exceptions):"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"all capital letters"}),"\n",(0,n.jsx)(t.li,{children:"split words by inserting an underscore"}),"\n",(0,n.jsx)(t.li,{children:"remove the single letter if the setting starts with one (like 'b')"}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"For example:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Difficulty -> DIFFICULTY"}),"\n",(0,n.jsx)(t.li,{children:"PalSpawnNumRate -> PAL_SPAWN_NUM_RATE"}),"\n",(0,n.jsx)(t.li,{children:"bIsPvP -> IS_PVP"}),"\n"]}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Variable"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Default Value"}),(0,n.jsx)(t.th,{children:"Allowed Value"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DIFFICULTY"}),(0,n.jsx)(t.td,{children:"Game Difficulty"}),(0,n.jsx)(t.td,{children:"None"}),(0,n.jsxs)(t.td,{children:[(0,n.jsx)(t.code,{children:"None"}),",",(0,n.jsx)(t.code,{children:"Normal"}),",",(0,n.jsx)(t.code,{children:"Difficult"})]})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DAYTIME_SPEEDRATE"}),(0,n.jsx)(t.td,{children:"Day time speed - Larger number means shorter days"}),(0,n.jsx)(t.td,{children:"1.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"NIGHTTIME_SPEEDRATE"}),(0,n.jsx)(t.td,{children:"Night time speed - Larger number means shorter nights"}),(0,n.jsx)(t.td,{children:"1.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"EXP_RATE"}),(0,n.jsx)(t.td,{children:"EXP earn rate"}),(0,n.jsx)(t.td,{children:"1.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PAL_CAPTURE_RATE"}),(0,n.jsx)(t.td,{children:"Pal capture rate"}),(0,n.jsx)(t.td,{children:"1.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PAL_SPAWN_NUM_RATE"}),(0,n.jsx)(t.td,{children:"Pal appearance rate"}),(0,n.jsx)(t.td,{children:"1.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PAL_DAMAGE_RATE_ATTACK"}),(0,n.jsx)(t.td,{children:"Damage from pals multipiler"}),(0,n.jsx)(t.td,{children:"1.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PAL_DAMAGE_RATE_DEFENSE"}),(0,n.jsx)(t.td,{children:"Damage to pals multipiler"}),(0,n.jsx)(t.td,{children:"1.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PLAYER_DAMAGE_RATE_ATTACK"}),(0,n.jsx)(t.td,{children:"Damage from player multipiler"}),(0,n.jsx)(t.td,{children:"1.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PLAYER_DAMAGE_RATE_DEFENSE"}),(0,n.jsx)(t.td,{children:"Damage to player multipiler"}),(0,n.jsx)(t.td,{children:"1.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PLAYER_STOMACH_DECREASE_RATE"}),(0,n.jsx)(t.td,{children:"Player hunger depletion rate"}),(0,n.jsx)(t.td,{children:"1.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PLAYER_STAMINA_DECREASE_RATE"}),(0,n.jsx)(t.td,{children:"Player stamina reduction rate"}),(0,n.jsx)(t.td,{children:"1.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PLAYER_AUTO_HP_REGEN_RATE"}),(0,n.jsx)(t.td,{children:"Player auto HP regeneration rate"}),(0,n.jsx)(t.td,{children:"1.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PLAYER_AUTO_HP_REGEN_RATE_IN_SLEEP"}),(0,n.jsx)(t.td,{children:"Player sleep HP regeneration rate"}),(0,n.jsx)(t.td,{children:"1.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PAL_STOMACH_DECREASE_RATE"}),(0,n.jsx)(t.td,{children:"Pal hunger depletion rate"}),(0,n.jsx)(t.td,{children:"1.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PAL_STAMINA_DECREASE_RATE"}),(0,n.jsx)(t.td,{children:"Pal stamina reduction rate"}),(0,n.jsx)(t.td,{children:"1.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PAL_AUTO_HP_REGEN_RATE"}),(0,n.jsx)(t.td,{children:"Pal auto HP regeneration rate"}),(0,n.jsx)(t.td,{children:"1.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PAL_AUTO_HP_REGEN_RATE_IN_SLEEP"}),(0,n.jsx)(t.td,{children:"Pal sleep health regeneration rate (in Palbox)"}),(0,n.jsx)(t.td,{children:"1.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"BUILD_OBJECT_DAMAGE_RATE"}),(0,n.jsx)(t.td,{children:"Damage to structure multipiler"}),(0,n.jsx)(t.td,{children:"1.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"BUILD_OBJECT_DETERIORATION_DAMAGE_RATE"}),(0,n.jsx)(t.td,{children:"Structure determination rate"}),(0,n.jsx)(t.td,{children:"1.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COLLECTION_DROP_RATE"}),(0,n.jsx)(t.td,{children:"Getherable items multipiler"}),(0,n.jsx)(t.td,{children:"1.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COLLECTION_OBJECT_HP_RATE"}),(0,n.jsx)(t.td,{children:"Getherable objects HP multipiler"}),(0,n.jsx)(t.td,{children:"1.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COLLECTION_OBJECT_RESPAWN_SPEED_RATE"}),(0,n.jsx)(t.td,{children:"Getherable objects respawn interval - The smaller the number, the faster the regeneration"}),(0,n.jsx)(t.td,{children:"1.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"ENEMY_DROP_ITEM_RATE"}),(0,n.jsx)(t.td,{children:"Dropped Items Multipiler"}),(0,n.jsx)(t.td,{children:"1.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DEATH_PENALTY"}),(0,n.jsx)(t.td,{children:"Death Penalty None: No death penalty Item: Drops items other than equipment ItemAndEquipment: Drops all items All: Drops all PALs and all items."}),(0,n.jsx)(t.td,{children:"All"}),(0,n.jsxs)(t.td,{children:[(0,n.jsx)(t.code,{children:"None"}),",",(0,n.jsx)(t.code,{children:"Item"}),",",(0,n.jsx)(t.code,{children:"ItemAndEquipment"}),",",(0,n.jsx)(t.code,{children:"All"})]})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"ENABLE_PLAYER_TO_PLAYER_DAMAGE"}),(0,n.jsx)(t.td,{children:"Allows players to cause damage to players"}),(0,n.jsx)(t.td,{children:"False"}),(0,n.jsx)(t.td,{children:"Boolean"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"ENABLE_FRIENDLY_FIRE"}),(0,n.jsx)(t.td,{children:"Allow friendly fire"}),(0,n.jsx)(t.td,{children:"False"}),(0,n.jsx)(t.td,{children:"Boolean"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"ENABLE_INVADER_ENEMY"}),(0,n.jsx)(t.td,{children:"Enable invaders"}),(0,n.jsx)(t.td,{children:"True"}),(0,n.jsx)(t.td,{children:"Boolean"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"ACTIVE_UNKO"}),(0,n.jsx)(t.td,{children:"Enable UNKO (?)"}),(0,n.jsx)(t.td,{children:"False"}),(0,n.jsx)(t.td,{children:"Boolean"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"ENABLE_AIM_ASSIST_PAD"}),(0,n.jsx)(t.td,{children:"Enable controller aim assist"}),(0,n.jsx)(t.td,{children:"True"}),(0,n.jsx)(t.td,{children:"Boolean"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"ENABLE_AIM_ASSIST_KEYBOARD"}),(0,n.jsx)(t.td,{children:"Enable Keyboard aim assist"}),(0,n.jsx)(t.td,{children:"False"}),(0,n.jsx)(t.td,{children:"Boolean"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DROP_ITEM_MAX_NUM"}),(0,n.jsx)(t.td,{children:"Maximum number of drops in the world"}),(0,n.jsx)(t.td,{children:"3000"}),(0,n.jsx)(t.td,{children:"Integer"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DROP_ITEM_MAX_NUM_UNKO"}),(0,n.jsx)(t.td,{children:"Maximum number of UNKO drops in the world"}),(0,n.jsx)(t.td,{children:"100"}),(0,n.jsx)(t.td,{children:"Integer"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"BASE_CAMP_MAX_NUM"}),(0,n.jsx)(t.td,{children:"Maximum number of base camps"}),(0,n.jsx)(t.td,{children:"128"}),(0,n.jsx)(t.td,{children:"Integer"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"BASE_CAMP_WORKER_MAX_NUM"}),(0,n.jsx)(t.td,{children:"Maximum number of workers"}),(0,n.jsx)(t.td,{children:"15"}),(0,n.jsx)(t.td,{children:"Integer"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DROP_ITEM_ALIVE_MAX_HOURS"}),(0,n.jsx)(t.td,{children:"Time it takes for items to despawn in hours"}),(0,n.jsx)(t.td,{children:"1.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"AUTO_RESET_GUILD_NO_ONLINE_PLAYERS"}),(0,n.jsx)(t.td,{children:"Automatically reset guild when no players are online"}),(0,n.jsx)(t.td,{children:"False"}),(0,n.jsx)(t.td,{children:"Bool"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"AUTO_RESET_GUILD_TIME_NO_ONLINE_PLAYERS"}),(0,n.jsx)(t.td,{children:"Time to automatically reset guild when no players are online"}),(0,n.jsx)(t.td,{children:"72.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"GUILD_PLAYER_MAX_NUM"}),(0,n.jsx)(t.td,{children:"Max player of Guild"}),(0,n.jsx)(t.td,{children:"20"}),(0,n.jsx)(t.td,{children:"Integer"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PAL_EGG_DEFAULT_HATCHING_TIME"}),(0,n.jsx)(t.td,{children:"Time(h) to incubate massive egg"}),(0,n.jsx)(t.td,{children:"72.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"WORK_SPEED_RATE"}),(0,n.jsx)(t.td,{children:"Work speed muliplier"}),(0,n.jsx)(t.td,{children:"1.000000"}),(0,n.jsx)(t.td,{children:"Float"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"IS_MULTIPLAY"}),(0,n.jsx)(t.td,{children:"Enable multiplayer"}),(0,n.jsx)(t.td,{children:"False"}),(0,n.jsx)(t.td,{children:"Boolean"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"IS_PVP"}),(0,n.jsx)(t.td,{children:"Enable PVP"}),(0,n.jsx)(t.td,{children:"False"}),(0,n.jsx)(t.td,{children:"Boolean"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CAN_PICKUP_OTHER_GUILD_DEATH_PENALTY_DROP"}),(0,n.jsx)(t.td,{children:"Allow players from other guilds to pick up death penalty items"}),(0,n.jsx)(t.td,{children:"False"}),(0,n.jsx)(t.td,{children:"Boolean"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"ENABLE_NON_LOGIN_PENALTY"}),(0,n.jsx)(t.td,{children:"Enable non-login penalty"}),(0,n.jsx)(t.td,{children:"True"}),(0,n.jsx)(t.td,{children:"Boolean"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"ENABLE_FAST_TRAVEL"}),(0,n.jsx)(t.td,{children:"Enable fast travel"}),(0,n.jsx)(t.td,{children:"True"}),(0,n.jsx)(t.td,{children:"Boolean"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"IS_START_LOCATION_SELECT_BY_MAP"}),(0,n.jsx)(t.td,{children:"Enable selecting of start location"}),(0,n.jsx)(t.td,{children:"True"}),(0,n.jsx)(t.td,{children:"Boolean"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"EXIST_PLAYER_AFTER_LOGOUT"}),(0,n.jsx)(t.td,{children:"Toggle for deleting players when they log off"}),(0,n.jsx)(t.td,{children:"False"}),(0,n.jsx)(t.td,{children:"Boolean"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"ENABLE_DEFENSE_OTHER_GUILD_PLAYER"}),(0,n.jsx)(t.td,{children:"Allows defense against other guild players"}),(0,n.jsx)(t.td,{children:"False"}),(0,n.jsx)(t.td,{children:"Boolean"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COOP_PLAYER_MAX_NUM"}),(0,n.jsx)(t.td,{children:"Maximum number of players in a guild"}),(0,n.jsx)(t.td,{children:"4"}),(0,n.jsx)(t.td,{children:"Integer"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"REGION"}),(0,n.jsx)(t.td,{children:"Region"}),(0,n.jsx)(t.td,{}),(0,n.jsx)(t.td,{children:"String"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"USEAUTH"}),(0,n.jsx)(t.td,{children:"Use authentication"}),(0,n.jsx)(t.td,{children:"True"}),(0,n.jsx)(t.td,{children:"Boolean"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"BAN_LIST_URL"}),(0,n.jsx)(t.td,{children:"Which ban list to use"}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"https://api.palworldgame.com/api/banlist.txt",children:"https://api.palworldgame.com/api/banlist.txt"})}),(0,n.jsx)(t.td,{children:"string"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SHOW_PLAYER_LIST"}),(0,n.jsx)(t.td,{children:"Enable show player list"}),(0,n.jsx)(t.td,{children:"True"}),(0,n.jsx)(t.td,{children:"Boolean"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TARGET_MANIFEST_ID"}),(0,n.jsx)(t.td,{children:"Locks game version to corespond with Manfiest ID from Steam Download Depot."}),(0,n.jsx)(t.td,{}),(0,n.jsxs)(t.td,{children:["See ",(0,n.jsx)(t.a,{href:"https://palworld-server-docker.loef.dev/guides/pinning-game-version",children:"Manifest ID Table"})]})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"ENABLE_PLAYER_LOGGING"}),(0,n.jsx)(t.td,{children:"Enables Logging and announcing when players join and leave"}),(0,n.jsx)(t.td,{children:"true"}),(0,n.jsx)(t.td,{children:"true/false"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PLAYER_LOGGING_POLL_PERIOD"}),(0,n.jsx)(t.td,{children:"Polling period (in seconds) to check for players who have joined or left"}),(0,n.jsx)(t.td,{children:"5"}),(0,n.jsx)(t.td,{children:"!0"})]})]})]}),"\n",(0,n.jsx)(t.h3,{id:"manually",children:"Manually"}),"\n",(0,n.jsxs)(t.p,{children:["When the server starts, a ",(0,n.jsx)(t.code,{children:"PalWorldSettings.ini"})," file will be created in the following location: ",(0,n.jsx)(t.code,{children:"/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini"})]}),"\n",(0,n.jsxs)(t.p,{children:["Please keep in mind that the ENV variables will always overwrite the changes made to ",(0,n.jsx)(t.code,{children:"PalWorldSettings.ini"}),"."]}),"\n",(0,n.jsxs)(t.admonition,{type:"warning",children:[(0,n.jsxs)(t.p,{children:["Changes can only be made to ",(0,n.jsx)(t.code,{children:"PalWorldSettings.ini"})," while the server is off."]}),(0,n.jsx)(t.p,{children:"Any changes made while the server is live will be overwritten when the server stops."})]}),"\n",(0,n.jsxs)(t.p,{children:["For a more detailed list of server settings go to: ",(0,n.jsx)(t.a,{href:"https://palworld.wiki.gg/wiki/PalWorldSettings.ini",children:"Palworld Wiki"})]}),"\n",(0,n.jsxs)(t.p,{children:["For more detailed server settings explanations go to: ",(0,n.jsx)(t.a,{href:"https://shockbyte.com/billing/knowledgebase/1189/How-to-Configure-your-Palworld-server.html",children:"shockbyte"})]})]})}function o(e={}){const{wrapper:t}={...(0,d.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(a,{...e})}):a(e)}},8453:(e,t,r)=>{r.d(t,{R:()=>i,x:()=>s});var n=r(6540);const d={},l=n.createContext(d);function i(e){const t=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:i(e.components),n.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c3826a0d.fcbec68e.js b/assets/js/c3826a0d.fcbec68e.js deleted file mode 100644 index 6d58cafb1..000000000 --- a/assets/js/c3826a0d.fcbec68e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[168],{6804:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>h,contentTitle:()=>i,default:()=>x,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var r=n(4848),d=n(8453);const s={sidebar_position:2},i="Game Settings",l={id:"getting-started/configuration/game-settings",title:"Game Settings",description:"Changing Game Settings with Environment variables.",source:"@site/docs/getting-started/configuration/game-settings.md",sourceDirName:"getting-started/configuration",slug:"/getting-started/configuration/game-settings",permalink:"/getting-started/configuration/game-settings",draft:!1,unlisted:!1,editUrl:"https://github.com/thijsvanloef/palworld-server-docker/tree/main/docusaurus/docs/getting-started/configuration/game-settings.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Server Settings",permalink:"/getting-started/configuration/server-settings"},next:{title:"Engine Settings",permalink:"/getting-started/configuration/engine-settings"}},h={},c=[{value:"With Environment Variables",id:"with-environment-variables",level:2},{value:"Manually",id:"manually",level:3}];function a(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,d.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h1,{id:"game-settings",children:"Game Settings"}),"\n",(0,r.jsx)(t.p,{children:"Changing Game Settings with Environment variables."}),"\n",(0,r.jsx)(t.h2,{id:"with-environment-variables",children:"With Environment Variables"}),"\n",(0,r.jsxs)(t.admonition,{type:"warning",children:[(0,r.jsx)(t.p,{children:"These Environment Variables and Settings are subject to change since the game is still in beta."}),(0,r.jsxs)(t.p,{children:["Check out the ",(0,r.jsx)(t.a,{href:"https://tech.palworldgame.com/optimize-game-balance",children:"official webpage for the supported parameters."})]})]}),"\n",(0,r.jsx)(t.p,{children:"Converting server settings to environment variables follow the same principles (with some exceptions):"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"all capital letters"}),"\n",(0,r.jsx)(t.li,{children:"split words by inserting an underscore"}),"\n",(0,r.jsx)(t.li,{children:"remove the single letter if the setting starts with one (like 'b')"}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:"For example:"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"Difficulty -> DIFFICULTY"}),"\n",(0,r.jsx)(t.li,{children:"PalSpawnNumRate -> PAL_SPAWN_NUM_RATE"}),"\n",(0,r.jsx)(t.li,{children:"bIsPvP -> IS_PVP"}),"\n"]}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Variable"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Default Value"}),(0,r.jsx)(t.th,{children:"Allowed Value"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"DIFFICULTY"}),(0,r.jsx)(t.td,{children:"Game Difficulty"}),(0,r.jsx)(t.td,{children:"None"}),(0,r.jsxs)(t.td,{children:[(0,r.jsx)(t.code,{children:"None"}),",",(0,r.jsx)(t.code,{children:"Normal"}),",",(0,r.jsx)(t.code,{children:"Difficult"})]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"DAYTIME_SPEEDRATE"}),(0,r.jsx)(t.td,{children:"Day time speed - Larger number means shorter days"}),(0,r.jsx)(t.td,{children:"1.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"NIGHTTIME_SPEEDRATE"}),(0,r.jsx)(t.td,{children:"Night time speed - Larger number means shorter nights"}),(0,r.jsx)(t.td,{children:"1.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"EXP_RATE"}),(0,r.jsx)(t.td,{children:"EXP earn rate"}),(0,r.jsx)(t.td,{children:"1.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"PAL_CAPTURE_RATE"}),(0,r.jsx)(t.td,{children:"Pal capture rate"}),(0,r.jsx)(t.td,{children:"1.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"PAL_SPAWN_NUM_RATE"}),(0,r.jsx)(t.td,{children:"Pal appearance rate"}),(0,r.jsx)(t.td,{children:"1.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"PAL_DAMAGE_RATE_ATTACK"}),(0,r.jsx)(t.td,{children:"Damage from pals multipiler"}),(0,r.jsx)(t.td,{children:"1.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"PAL_DAMAGE_RATE_DEFENSE"}),(0,r.jsx)(t.td,{children:"Damage to pals multipiler"}),(0,r.jsx)(t.td,{children:"1.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"PLAYER_DAMAGE_RATE_ATTACK"}),(0,r.jsx)(t.td,{children:"Damage from player multipiler"}),(0,r.jsx)(t.td,{children:"1.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"PLAYER_DAMAGE_RATE_DEFENSE"}),(0,r.jsx)(t.td,{children:"Damage to player multipiler"}),(0,r.jsx)(t.td,{children:"1.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"PLAYER_STOMACH_DECREASE_RATE"}),(0,r.jsx)(t.td,{children:"Player hunger depletion rate"}),(0,r.jsx)(t.td,{children:"1.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"PLAYER_STAMINA_DECREASE_RATE"}),(0,r.jsx)(t.td,{children:"Player stamina reduction rate"}),(0,r.jsx)(t.td,{children:"1.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"PLAYER_AUTO_HP_REGEN_RATE"}),(0,r.jsx)(t.td,{children:"Player auto HP regeneration rate"}),(0,r.jsx)(t.td,{children:"1.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"PLAYER_AUTO_HP_REGEN_RATE_IN_SLEEP"}),(0,r.jsx)(t.td,{children:"Player sleep HP regeneration rate"}),(0,r.jsx)(t.td,{children:"1.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"PAL_STOMACH_DECREASE_RATE"}),(0,r.jsx)(t.td,{children:"Pal hunger depletion rate"}),(0,r.jsx)(t.td,{children:"1.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"PAL_STAMINA_DECREASE_RATE"}),(0,r.jsx)(t.td,{children:"Pal stamina reduction rate"}),(0,r.jsx)(t.td,{children:"1.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"PAL_AUTO_HP_REGEN_RATE"}),(0,r.jsx)(t.td,{children:"Pal auto HP regeneration rate"}),(0,r.jsx)(t.td,{children:"1.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"PAL_AUTO_HP_REGEN_RATE_IN_SLEEP"}),(0,r.jsx)(t.td,{children:"Pal sleep health regeneration rate (in Palbox)"}),(0,r.jsx)(t.td,{children:"1.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"BUILD_OBJECT_DAMAGE_RATE"}),(0,r.jsx)(t.td,{children:"Damage to structure multipiler"}),(0,r.jsx)(t.td,{children:"1.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"BUILD_OBJECT_DETERIORATION_DAMAGE_RATE"}),(0,r.jsx)(t.td,{children:"Structure determination rate"}),(0,r.jsx)(t.td,{children:"1.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"COLLECTION_DROP_RATE"}),(0,r.jsx)(t.td,{children:"Getherable items multipiler"}),(0,r.jsx)(t.td,{children:"1.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"COLLECTION_OBJECT_HP_RATE"}),(0,r.jsx)(t.td,{children:"Getherable objects HP multipiler"}),(0,r.jsx)(t.td,{children:"1.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"COLLECTION_OBJECT_RESPAWN_SPEED_RATE"}),(0,r.jsx)(t.td,{children:"Getherable objects respawn interval - The smaller the number, the faster the regeneration"}),(0,r.jsx)(t.td,{children:"1.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"ENEMY_DROP_ITEM_RATE"}),(0,r.jsx)(t.td,{children:"Dropped Items Multipiler"}),(0,r.jsx)(t.td,{children:"1.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"DEATH_PENALTY"}),(0,r.jsx)(t.td,{children:"Death Penalty None: No death penalty Item: Drops items other than equipment ItemAndEquipment: Drops all items All: Drops all PALs and all items."}),(0,r.jsx)(t.td,{children:"All"}),(0,r.jsxs)(t.td,{children:[(0,r.jsx)(t.code,{children:"None"}),",",(0,r.jsx)(t.code,{children:"Item"}),",",(0,r.jsx)(t.code,{children:"ItemAndEquipment"}),",",(0,r.jsx)(t.code,{children:"All"})]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"ENABLE_PLAYER_TO_PLAYER_DAMAGE"}),(0,r.jsx)(t.td,{children:"Allows players to cause damage to players"}),(0,r.jsx)(t.td,{children:"False"}),(0,r.jsx)(t.td,{children:"Boolean"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"ENABLE_FRIENDLY_FIRE"}),(0,r.jsx)(t.td,{children:"Allow friendly fire"}),(0,r.jsx)(t.td,{children:"False"}),(0,r.jsx)(t.td,{children:"Boolean"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"ENABLE_INVADER_ENEMY"}),(0,r.jsx)(t.td,{children:"Enable invaders"}),(0,r.jsx)(t.td,{children:"True"}),(0,r.jsx)(t.td,{children:"Boolean"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"ACTIVE_UNKO"}),(0,r.jsx)(t.td,{children:"Enable UNKO (?)"}),(0,r.jsx)(t.td,{children:"False"}),(0,r.jsx)(t.td,{children:"Boolean"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"ENABLE_AIM_ASSIST_PAD"}),(0,r.jsx)(t.td,{children:"Enable controller aim assist"}),(0,r.jsx)(t.td,{children:"True"}),(0,r.jsx)(t.td,{children:"Boolean"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"ENABLE_AIM_ASSIST_KEYBOARD"}),(0,r.jsx)(t.td,{children:"Enable Keyboard aim assist"}),(0,r.jsx)(t.td,{children:"False"}),(0,r.jsx)(t.td,{children:"Boolean"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"DROP_ITEM_MAX_NUM"}),(0,r.jsx)(t.td,{children:"Maximum number of drops in the world"}),(0,r.jsx)(t.td,{children:"3000"}),(0,r.jsx)(t.td,{children:"Integer"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"DROP_ITEM_MAX_NUM_UNKO"}),(0,r.jsx)(t.td,{children:"Maximum number of UNKO drops in the world"}),(0,r.jsx)(t.td,{children:"100"}),(0,r.jsx)(t.td,{children:"Integer"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"BASE_CAMP_MAX_NUM"}),(0,r.jsx)(t.td,{children:"Maximum number of base camps"}),(0,r.jsx)(t.td,{children:"128"}),(0,r.jsx)(t.td,{children:"Integer"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"BASE_CAMP_WORKER_MAX_NUM"}),(0,r.jsx)(t.td,{children:"Maximum number of workers"}),(0,r.jsx)(t.td,{children:"15"}),(0,r.jsx)(t.td,{children:"Integer"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"DROP_ITEM_ALIVE_MAX_HOURS"}),(0,r.jsx)(t.td,{children:"Time it takes for items to despawn in hours"}),(0,r.jsx)(t.td,{children:"1.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"AUTO_RESET_GUILD_NO_ONLINE_PLAYERS"}),(0,r.jsx)(t.td,{children:"Automatically reset guild when no players are online"}),(0,r.jsx)(t.td,{children:"False"}),(0,r.jsx)(t.td,{children:"Bool"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"AUTO_RESET_GUILD_TIME_NO_ONLINE_PLAYERS"}),(0,r.jsx)(t.td,{children:"Time to automatically reset guild when no players are online"}),(0,r.jsx)(t.td,{children:"72.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"GUILD_PLAYER_MAX_NUM"}),(0,r.jsx)(t.td,{children:"Max player of Guild"}),(0,r.jsx)(t.td,{children:"20"}),(0,r.jsx)(t.td,{children:"Integer"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"PAL_EGG_DEFAULT_HATCHING_TIME"}),(0,r.jsx)(t.td,{children:"Time(h) to incubate massive egg"}),(0,r.jsx)(t.td,{children:"72.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"WORK_SPEED_RATE"}),(0,r.jsx)(t.td,{children:"Work speed muliplier"}),(0,r.jsx)(t.td,{children:"1.000000"}),(0,r.jsx)(t.td,{children:"Float"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"IS_MULTIPLAY"}),(0,r.jsx)(t.td,{children:"Enable multiplayer"}),(0,r.jsx)(t.td,{children:"False"}),(0,r.jsx)(t.td,{children:"Boolean"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"IS_PVP"}),(0,r.jsx)(t.td,{children:"Enable PVP"}),(0,r.jsx)(t.td,{children:"False"}),(0,r.jsx)(t.td,{children:"Boolean"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"CAN_PICKUP_OTHER_GUILD_DEATH_PENALTY_DROP"}),(0,r.jsx)(t.td,{children:"Allow players from other guilds to pick up death penalty items"}),(0,r.jsx)(t.td,{children:"False"}),(0,r.jsx)(t.td,{children:"Boolean"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"ENABLE_NON_LOGIN_PENALTY"}),(0,r.jsx)(t.td,{children:"Enable non-login penalty"}),(0,r.jsx)(t.td,{children:"True"}),(0,r.jsx)(t.td,{children:"Boolean"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"ENABLE_FAST_TRAVEL"}),(0,r.jsx)(t.td,{children:"Enable fast travel"}),(0,r.jsx)(t.td,{children:"True"}),(0,r.jsx)(t.td,{children:"Boolean"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"IS_START_LOCATION_SELECT_BY_MAP"}),(0,r.jsx)(t.td,{children:"Enable selecting of start location"}),(0,r.jsx)(t.td,{children:"True"}),(0,r.jsx)(t.td,{children:"Boolean"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"EXIST_PLAYER_AFTER_LOGOUT"}),(0,r.jsx)(t.td,{children:"Toggle for deleting players when they log off"}),(0,r.jsx)(t.td,{children:"False"}),(0,r.jsx)(t.td,{children:"Boolean"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"ENABLE_DEFENSE_OTHER_GUILD_PLAYER"}),(0,r.jsx)(t.td,{children:"Allows defense against other guild players"}),(0,r.jsx)(t.td,{children:"False"}),(0,r.jsx)(t.td,{children:"Boolean"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"COOP_PLAYER_MAX_NUM"}),(0,r.jsx)(t.td,{children:"Maximum number of players in a guild"}),(0,r.jsx)(t.td,{children:"4"}),(0,r.jsx)(t.td,{children:"Integer"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"REGION"}),(0,r.jsx)(t.td,{children:"Region"}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{children:"String"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"USEAUTH"}),(0,r.jsx)(t.td,{children:"Use authentication"}),(0,r.jsx)(t.td,{children:"True"}),(0,r.jsx)(t.td,{children:"Boolean"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"BAN_LIST_URL"}),(0,r.jsx)(t.td,{children:"Which ban list to use"}),(0,r.jsx)(t.td,{children:(0,r.jsx)(t.a,{href:"https://api.palworldgame.com/api/banlist.txt",children:"https://api.palworldgame.com/api/banlist.txt"})}),(0,r.jsx)(t.td,{children:"string"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"SHOW_PLAYER_LIST"}),(0,r.jsx)(t.td,{children:"Enable show player list"}),(0,r.jsx)(t.td,{children:"True"}),(0,r.jsx)(t.td,{children:"Boolean"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"TARGET_MANIFEST_ID"}),(0,r.jsx)(t.td,{children:"Locks game version to corespond with Manfiest ID from Steam Download Depot."}),(0,r.jsx)(t.td,{}),(0,r.jsxs)(t.td,{children:["See ",(0,r.jsx)(t.a,{href:"https://palworld-server-docker.loef.dev/guides/pinning-game-version",children:"Manifest ID Table"})]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"ENABLE_PLAYER_LOGGING"}),(0,r.jsx)(t.td,{children:"Enables Logging and announcing when players join and leave"}),(0,r.jsx)(t.td,{children:"true"}),(0,r.jsx)(t.td,{children:"true/false"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"PLAYER_LOGGING_POLL_PERIOD"}),(0,r.jsx)(t.td,{children:"Polling period (in seconds) to check for players who have joined or left"}),(0,r.jsx)(t.td,{children:"5"}),(0,r.jsx)(t.td,{children:"!0"})]})]})]}),"\n",(0,r.jsx)(t.h3,{id:"manually",children:"Manually"}),"\n",(0,r.jsxs)(t.p,{children:["When the server starts, a ",(0,r.jsx)(t.code,{children:"PalWorldSettings.ini"})," file will be created in the following location: ",(0,r.jsx)(t.code,{children:"/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini"})]}),"\n",(0,r.jsxs)(t.p,{children:["Please keep in mind that the ENV variables will always overwrite the changes made to ",(0,r.jsx)(t.code,{children:"PalWorldSettings.ini"}),"."]}),"\n",(0,r.jsxs)(t.admonition,{type:"warning",children:[(0,r.jsxs)(t.p,{children:["Changes can only be made to ",(0,r.jsx)(t.code,{children:"PalWorldSettings.ini"})," while the server is off."]}),(0,r.jsx)(t.p,{children:"Any changes made while the server is live will be overwritten when the server stops."})]}),"\n",(0,r.jsxs)(t.p,{children:["For a more detailed list of server settings go to: ",(0,r.jsx)(t.a,{href:"https://palworld.wiki.gg/wiki/PalWorldSettings.ini",children:"Palworld Wiki"})]}),"\n",(0,r.jsxs)(t.p,{children:["For more detailed server settings explanations go to: ",(0,r.jsx)(t.a,{href:"https://shockbyte.com/billing/knowledgebase/1189/How-to-Configure-your-Palworld-server.html",children:"shockbyte"})]})]})}function x(e={}){const{wrapper:t}={...(0,d.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>l});var r=n(6540);const d={},s=r.createContext(d);function i(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:i(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ca732820.aec7bd22.js b/assets/js/ca732820.3286a680.js similarity index 85% rename from assets/js/ca732820.aec7bd22.js rename to assets/js/ca732820.3286a680.js index 8ac01154e..5c00c1ff0 100644 --- a/assets/js/ca732820.aec7bd22.js +++ b/assets/js/ca732820.3286a680.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[281],{653:e=>{e.exports=JSON.parse('{"title":"Discord integration","slug":"/category/discord-integration","permalink":"/category/discord-integration","navigation":{"previous":{"title":"Configure automated backups","permalink":"/guides/backup/automated-backup"},"next":{"title":"Using discord webhooks","permalink":"/guides/discord/discord-webhooks"}}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[281],{653:e=>{e.exports=JSON.parse('{"title":"Discord integration","slug":"/category/discord-integration","permalink":"/category/discord-integration","navigation":{"previous":{"title":"Configure automated backups","permalink":"/guides/backup/automated-backup"},"next":{"title":"Using Discord Webhooks","permalink":"/guides/discord/discord-webhooks"}}}')}}]); \ No newline at end of file diff --git a/assets/js/cad781b3.3582594c.js b/assets/js/cad781b3.04fa3a34.js similarity index 98% rename from assets/js/cad781b3.3582594c.js rename to assets/js/cad781b3.04fa3a34.js index 2f72c4e72..750912b3d 100644 --- a/assets/js/cad781b3.3582594c.js +++ b/assets/js/cad781b3.04fa3a34.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[816],{9027:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>d});var s=t(4848),l=t(8453);const r={sidebar_position:99},i="Help translate the docs",o={id:"help-translate/help-translate",title:"Help translate the docs",description:"I'm always looking for people to translate the documentation into different languages.",source:"@site/docs/help-translate/help-translate.md",sourceDirName:"help-translate",slug:"/help-translate/",permalink:"/help-translate/",draft:!1,unlisted:!1,editUrl:"https://github.com/thijsvanloef/palworld-server-docker/tree/main/docusaurus/docs/help-translate/help-translate.md",tags:[],version:"current",sidebarPosition:99,frontMatter:{sidebar_position:99},sidebar:"tutorialSidebar",previous:{title:"Known Issues",permalink:"/known-issues/"}},a={},d=[{value:"How to translate",id:"how-to-translate",level:2},{value:"Prerequisites",id:"prerequisites",level:2},{value:"Setup i18n",id:"setup-i18n",level:2},{value:"Testing the translation",id:"testing-the-translation",level:2},{value:"Opening a Pull request",id:"opening-a-pull-request",level:2}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",ul:"ul",...(0,l.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"help-translate-the-docs",children:"Help translate the docs"}),"\n",(0,s.jsx)(n.p,{children:"I'm always looking for people to translate the documentation into different languages.\nIf you want to help use this guide to help you get started!"}),"\n",(0,s.jsx)(n.h2,{id:"how-to-translate",children:"How to translate"}),"\n",(0,s.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"nodejs"})," installed"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"npm"})," installed"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"git"})," installed"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"setup-i18n",children:"Setup i18n"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Fork the ",(0,s.jsx)(n.a,{href:"https://github.com/thijsvanloef/palworld-server-docker",children:"https://github.com/thijsvanloef/palworld-server-docker"})," repository"]}),"\n",(0,s.jsx)(n.li,{children:"Clone your created fork."}),"\n",(0,s.jsxs)(n.li,{children:["Navigate to the ",(0,s.jsx)(n.code,{children:"docusaurus"})," folder."]}),"\n",(0,s.jsxs)(n.li,{children:["Add your locale to the i18n config on line in the ",(0,s.jsx)(n.a,{href:"https://github.com/thijsvanloef/palworld-server-docker/blob/main/docusaurus/docusaurus.config.js",children:"docusaurus.config.js"})]}),"\n",(0,s.jsxs)(n.li,{children:["Run: ",(0,s.jsx)(n.code,{children:"npm run write-translations -- --locale "})]}),"\n"]}),"\n",(0,s.jsx)(n.admonition,{type:"info",children:(0,s.jsxs)(n.p,{children:["After running ",(0,s.jsx)(n.code,{children:"npm run write-translations -- --locale "})," a new folder will be created in the ",(0,s.jsx)(n.code,{children:"i18n"})," folder"]})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Remove the ",(0,s.jsx)(n.code,{children:"docusaurus-plugin-content-blog"})," folder"]}),"\n",(0,s.jsxs)(n.li,{children:["Create a ",(0,s.jsx)(n.code,{children:"current"})," folder inside ",(0,s.jsx)(n.code,{children:"docusaurus-plugin-content-docs"})]}),"\n",(0,s.jsxs)(n.li,{children:["Copy the contents of ",(0,s.jsx)(n.code,{children:"docs"})," to the ",(0,s.jsx)(n.code,{children:"current"})," folder"]}),"\n",(0,s.jsx)(n.li,{children:"Start translating!"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"testing-the-translation",children:"Testing the translation"}),"\n",(0,s.jsx)(n.p,{children:"If you are done translating you can test that version of the site by doing the following:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Navigate to the ",(0,s.jsx)(n.code,{children:"docusaurus"})," folder"]}),"\n",(0,s.jsxs)(n.li,{children:["Run: ",(0,s.jsx)(n.code,{children:"npm start -- --locale "})]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"opening-a-pull-request",children:"Opening a Pull request"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Go to ",(0,s.jsx)(n.a,{href:"https://github.com/thijsvanloef/palworld-server-docker/compare",children:"https://github.com/thijsvanloef/palworld-server-docker/compare"})]}),"\n",(0,s.jsx)(n.li,{children:"Select your repository/branch"}),"\n",(0,s.jsxs)(n.li,{children:["Press: ",(0,s.jsx)(n.code,{children:"Create pull request"})]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>o});var s=t(6540);const l={},r=s.createContext(l);function i(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:i(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[816],{9027:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>d});var s=t(4848),l=t(8453);const r={sidebar_position:99},i="Help translate the docs",o={id:"help-translate/help-translate",title:"Help translate the docs",description:"I'm always looking for people to translate the documentation into different languages.",source:"@site/docs/help-translate/help-translate.md",sourceDirName:"help-translate",slug:"/help-translate/",permalink:"/help-translate/",draft:!1,unlisted:!1,editUrl:"https://github.com/thijsvanloef/palworld-server-docker/tree/main/docusaurus/docs/help-translate/help-translate.md",tags:[],version:"current",sidebarPosition:99,frontMatter:{sidebar_position:99},sidebar:"tutorialSidebar",previous:{title:"Known issues",permalink:"/known-issues/"}},a={},d=[{value:"How to translate",id:"how-to-translate",level:2},{value:"Prerequisites",id:"prerequisites",level:2},{value:"Setup i18n",id:"setup-i18n",level:2},{value:"Testing the translation",id:"testing-the-translation",level:2},{value:"Opening a Pull request",id:"opening-a-pull-request",level:2}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",ul:"ul",...(0,l.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"help-translate-the-docs",children:"Help translate the docs"}),"\n",(0,s.jsx)(n.p,{children:"I'm always looking for people to translate the documentation into different languages.\nIf you want to help use this guide to help you get started!"}),"\n",(0,s.jsx)(n.h2,{id:"how-to-translate",children:"How to translate"}),"\n",(0,s.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"nodejs"})," installed"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"npm"})," installed"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"git"})," installed"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"setup-i18n",children:"Setup i18n"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Fork the ",(0,s.jsx)(n.a,{href:"https://github.com/thijsvanloef/palworld-server-docker",children:"https://github.com/thijsvanloef/palworld-server-docker"})," repository"]}),"\n",(0,s.jsx)(n.li,{children:"Clone your created fork."}),"\n",(0,s.jsxs)(n.li,{children:["Navigate to the ",(0,s.jsx)(n.code,{children:"docusaurus"})," folder."]}),"\n",(0,s.jsxs)(n.li,{children:["Add your locale to the i18n config on line in the ",(0,s.jsx)(n.a,{href:"https://github.com/thijsvanloef/palworld-server-docker/blob/main/docusaurus/docusaurus.config.js",children:"docusaurus.config.js"})]}),"\n",(0,s.jsxs)(n.li,{children:["Run: ",(0,s.jsx)(n.code,{children:"npm run write-translations -- --locale "})]}),"\n"]}),"\n",(0,s.jsx)(n.admonition,{type:"info",children:(0,s.jsxs)(n.p,{children:["After running ",(0,s.jsx)(n.code,{children:"npm run write-translations -- --locale "})," a new folder will be created in the ",(0,s.jsx)(n.code,{children:"i18n"})," folder"]})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Remove the ",(0,s.jsx)(n.code,{children:"docusaurus-plugin-content-blog"})," folder"]}),"\n",(0,s.jsxs)(n.li,{children:["Create a ",(0,s.jsx)(n.code,{children:"current"})," folder inside ",(0,s.jsx)(n.code,{children:"docusaurus-plugin-content-docs"})]}),"\n",(0,s.jsxs)(n.li,{children:["Copy the contents of ",(0,s.jsx)(n.code,{children:"docs"})," to the ",(0,s.jsx)(n.code,{children:"current"})," folder"]}),"\n",(0,s.jsx)(n.li,{children:"Start translating!"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"testing-the-translation",children:"Testing the translation"}),"\n",(0,s.jsx)(n.p,{children:"If you are done translating you can test that version of the site by doing the following:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Navigate to the ",(0,s.jsx)(n.code,{children:"docusaurus"})," folder"]}),"\n",(0,s.jsxs)(n.li,{children:["Run: ",(0,s.jsx)(n.code,{children:"npm start -- --locale "})]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"opening-a-pull-request",children:"Opening a Pull request"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Go to ",(0,s.jsx)(n.a,{href:"https://github.com/thijsvanloef/palworld-server-docker/compare",children:"https://github.com/thijsvanloef/palworld-server-docker/compare"})]}),"\n",(0,s.jsx)(n.li,{children:"Select your repository/branch"}),"\n",(0,s.jsxs)(n.li,{children:["Press: ",(0,s.jsx)(n.code,{children:"Create pull request"})]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>o});var s=t(6540);const l={},r=s.createContext(l);function i(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:i(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d1368834.8bf80d45.js b/assets/js/d1368834.ed5f562d.js similarity index 84% rename from assets/js/d1368834.8bf80d45.js rename to assets/js/d1368834.ed5f562d.js index 258e12e3e..9b9685c97 100644 --- a/assets/js/d1368834.8bf80d45.js +++ b/assets/js/d1368834.ed5f562d.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[988],{7903:e=>{e.exports=JSON.parse('{"title":"RCON (Advanced)","slug":"/category/rcon-advanced","permalink":"/category/rcon-advanced","navigation":{"previous":{"title":"Using discord webhooks","permalink":"/guides/discord/discord-webhooks"},"next":{"title":"RCON Wrapper","permalink":"/guides/rcon/rcon-wrapper"}}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[988],{7903:e=>{e.exports=JSON.parse('{"title":"RCON (Advanced)","slug":"/category/rcon-advanced","permalink":"/category/rcon-advanced","navigation":{"previous":{"title":"Using Discord Webhooks","permalink":"/guides/discord/discord-webhooks"},"next":{"title":"RCON Wrapper","permalink":"/guides/rcon/rcon-wrapper"}}}')}}]); \ No newline at end of file diff --git a/assets/js/e2835484.46f70fa2.js b/assets/js/e2835484.46f70fa2.js new file mode 100644 index 000000000..b3231779b --- /dev/null +++ b/assets/js/e2835484.46f70fa2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[986],{4407:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>t,metadata:()=>a,toc:()=>d});var i=s(4848),r=s(8453);const t={sidebar_position:5,title:"Palworld Dedicated Server Known Issues",description:"The current known issues of the Palworld Dedicated server running on Docker, including S_API FAIL, Setting breakpad minidump AppID = 2394010 and more.",keywords:["Palworld","palworld dedicated server","Palworld dedicated server known issues","Palworld dedicated server issues"],image:"../../assets/Palworld_Banner.jpg",sidebar_label:"Known issues"},o="Palworld Dedicated Server Known Issues",a={id:"known-issues/known-issues",title:"Palworld Dedicated Server Known Issues",description:"The current known issues of the Palworld Dedicated server running on Docker, including S_API FAIL, Setting breakpad minidump AppID = 2394010 and more.",source:"@site/docs/known-issues/known-issues.md",sourceDirName:"known-issues",slug:"/known-issues/",permalink:"/known-issues/",draft:!1,unlisted:!1,editUrl:"https://github.com/thijsvanloef/palworld-server-docker/tree/main/docusaurus/docs/known-issues/known-issues.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5,title:"Palworld Dedicated Server Known Issues",description:"The current known issues of the Palworld Dedicated server running on Docker, including S_API FAIL, Setting breakpad minidump AppID = 2394010 and more.",keywords:["Palworld","palworld dedicated server","Palworld dedicated server known issues","Palworld dedicated server issues"],image:"../../assets/Palworld_Banner.jpg",sidebar_label:"Known issues"},sidebar:"tutorialSidebar",previous:{title:"Versions",permalink:"/versions/"},next:{title:"Help translate the docs",permalink:"/help-translate/"}},l={},d=[{value:"PalWorldSettings.ini keeps resetting",id:"palworldsettingsini-keeps-resetting",level:2},{value:"Broadcast command can only send 1 word",id:"broadcast-command-can-only-send-1-word",level:2},{value:"XBox GamePass players unable to join",id:"xbox-gamepass-players-unable-to-join",level:2},{value:"[S_API FAIL]",id:"s_api-fail",level:2},{value:"Setting breakpad minidump AppID = 2394010",id:"setting-breakpad-minidump-appid--2394010",level:2},{value:"Only ARM64 hosts with 4k page size is supported",id:"only-arm64-hosts-with-4k-page-size-is-supported",level:2},{value:"/usr/local/bin/box86: cannot execute binary file: Exec format error (ARM64 hosts)",id:"usrlocalbinbox86-cannot-execute-binary-file-exec-format-error-arm64-hosts",level:2},{value:"FAQ",id:"faq",level:2}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"palworld-dedicated-server-known-issues",children:"Palworld Dedicated Server Known Issues"}),"\n",(0,i.jsx)(n.p,{children:"The current know issues of the Palworld Dedicated server running on Docker,\nincluding S_API FAIL, Setting breakpad minidump AppID = 2394010 and more."}),"\n",(0,i.jsx)(n.h2,{id:"palworldsettingsini-keeps-resetting",children:"PalWorldSettings.ini keeps resetting"}),"\n",(0,i.jsxs)(n.p,{children:["If the ",(0,i.jsx)(n.code,{children:"PalworldSettings.ini"})," keeps resettings after you have changed the file and rebooted the server.\nPlease make sure you have ",(0,i.jsx)(n.code,{children:"DISABLE_GENERATE_SETTINGS"})," set to ",(0,i.jsx)(n.code,{children:"true"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["If this is not the case, your setting will be overwritten by the settings set via ",(0,i.jsx)(n.a,{href:"https://palworld-server-docker.loef.dev/getting-started/configuration/game-settings",children:"the environment variables"}),"."]}),"\n",(0,i.jsxs)(n.admonition,{type:"tip",children:[(0,i.jsxs)(n.p,{children:["It is recommended you use the environment variables to set your game settings, instead of manually changing the ",(0,i.jsx)(n.code,{children:"PalWorldSettings.ini"})]}),(0,i.jsx)(n.p,{children:"If you do want to change the file manually, please make sure the server is off when you make the changes."})]}),"\n",(0,i.jsx)(n.h2,{id:"broadcast-command-can-only-send-1-word",children:"Broadcast command can only send 1 word"}),"\n",(0,i.jsx)(n.p,{children:"When using Broadcast among RCON's functions, only one word is transmitted."}),"\n",(0,i.jsx)(n.p,{children:"As an example, if I use:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:'docker exec -it palworld-server rcon-cli Broadcast "Hello world"'})}),"\n",(0,i.jsx)(n.p,{children:"only Hello is transmitted."}),"\n",(0,i.jsx)(n.h2,{id:"xbox-gamepass-players-unable-to-join",children:"XBox GamePass players unable to join"}),"\n",(0,i.jsx)(n.p,{children:"At the moment, Xbox Gamepass/Xbox Console players will not be able to join a dedicated server."}),"\n",(0,i.jsx)(n.p,{children:"They will need to join players using the invite code and are limited to sessions of 4 players max."}),"\n",(0,i.jsx)(n.h2,{id:"s_api-fail",children:"[S_API FAIL]"}),"\n",(0,i.jsx)(n.p,{children:"The server will sometimes output the following error:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"[S_API FAIL] Tried to access Steam interface SteamUser021 before SteamAPI_Init succeeded.\n[S_API FAIL] Tried to access Steam interface SteamFriends017 before SteamAPI_Init succeeded.\n[S_API FAIL] Tried to access Steam interface STEAMAPPS_INTERFACE_VERSION008 before SteamAPI_Init succeeded.\n[S_API FAIL] Tried to access Steam interface SteamNetworkingUtils004 before SteamAPI_Init succeeded.\n"})}),"\n",(0,i.jsx)(n.p,{children:"This can safely be ignored and will not impact the server."}),"\n",(0,i.jsx)(n.h2,{id:"setting-breakpad-minidump-appid--2394010",children:"Setting breakpad minidump AppID = 2394010"}),"\n",(0,i.jsx)(n.p,{children:"This means that the server is up and running, if you still can't connect to it,\nit means that you'll need to look at the following:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Firewall settings, make sure that you allow port 8211/udp and 27015/udp through your firewall"}),"\n",(0,i.jsx)(n.li,{children:"Make sure you've correctly port forwarded your 8211/udp 27015/udp"}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"only-arm64-hosts-with-4k-page-size-is-supported",children:"Only ARM64 hosts with 4k page size is supported"}),"\n",(0,i.jsx)(n.p,{children:"This error occurs when the container detects that the host kernel does not have a 4k page size,\nwhich is required for the emulation used for ARM64 architecture. The container relies on this specific page\nsize for proper execution."}),"\n",(0,i.jsx)(n.p,{children:"If the host kernel does not have a 4k page size, you have a couple of alternatives:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Download server files in a different machine"}),": The 4k page size limitation is only applicable for steamcmd\nARM emulation. You may try initializing the container in a fully supported machine (AMD64 or ARM64 with 4k page size)\nand let it download the server files with ",(0,i.jsx)(n.code,{children:"UPDATE_ON_BOOT"})," enabled. Make sure to disable ",(0,i.jsx)(n.code,{children:"UPDATE_ON_BOOT"})," in the\nproblematic machine to prevent steamcmd from executing."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Change/Modify Kernel"}),": You can consider changing the kernel of your host machine to one that supports a 4k page size."]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["The Raspberry Pi 5 with Raspberry Pi OS has an easy ",(0,i.jsx)(n.a,{href:"https://github.com/raspberrypi/bookworm-feedback/issues/107#issuecomment-1773810662",children:"switch"}),"."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Switch OS"}),": Another option is to switch OS to ones shipped with 4k page size kernels."]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Debian and Ubuntu are known working Linux distros."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Run within a VM"}),": Another option is to run the container within a virtual machine (VM) that is configured\nwith a kernel supporting a 4k page size. By doing so, you can ensure compatibility and proper execution of the\ncontainer."]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"usrlocalbinbox86-cannot-execute-binary-file-exec-format-error-arm64-hosts",children:"/usr/local/bin/box86: cannot execute binary file: Exec format error (ARM64 hosts)"}),"\n",(0,i.jsx)(n.p,{children:"This means that the Docker host is unable to run AArch32 binaries such as Box86 without an additional\ncompatibility layer which is the case for Apple Silicon."}),"\n",(0,i.jsxs)(n.p,{children:["Docker Desktop solves this by running its containers inside a VM (QEMU) with a compatible kernel.\nHowever, if you're unable to use Docker Desktop, then try setting ",(0,i.jsx)(n.code,{children:"ARM_COMPATIBILITY_MODE"})," to ",(0,i.jsx)(n.code,{children:"true"}),".\nThis will switch the container from using Box86 to QEMU when running steamcmd."]}),"\n",(0,i.jsx)(n.h2,{id:"faq",children:"FAQ"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://gist.github.com/Toakan/3c78a577c21a21fcc5fa917f3021d70e#file-palworld-server-faq-community-md",children:"A useful FAQ that gets updated regularly"})})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},8453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>a});var i=s(6540);const r={},t=i.createContext(r);function o(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e2835484.7af5aab6.js b/assets/js/e2835484.7af5aab6.js deleted file mode 100644 index 9b29146fe..000000000 --- a/assets/js/e2835484.7af5aab6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[986],{4407:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var i=s(4848),t=s(8453);const r={sidebar_position:5},o="Known Issues",a={id:"known-issues/known-issues",title:"Known Issues",description:"Known issues of using this Docker image.",source:"@site/docs/known-issues/known-issues.md",sourceDirName:"known-issues",slug:"/known-issues/",permalink:"/known-issues/",draft:!1,unlisted:!1,editUrl:"https://github.com/thijsvanloef/palworld-server-docker/tree/main/docusaurus/docs/known-issues/known-issues.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"Versions",permalink:"/versions/"},next:{title:"Help translate the docs",permalink:"/help-translate/"}},l={},c=[{value:"PalWorldSettings.ini keeps resetting",id:"palworldsettingsini-keeps-resetting",level:2},{value:"Broadcast command can only send 1 word",id:"broadcast-command-can-only-send-1-word",level:2},{value:"XBox GamePass players unable to join",id:"xbox-gamepass-players-unable-to-join",level:2},{value:"[S_API FAIL]",id:"s_api-fail",level:2},{value:"Setting breakpad minidump AppID = 2394010",id:"setting-breakpad-minidump-appid--2394010",level:2},{value:"Only ARM64 hosts with 4k page size is supported",id:"only-arm64-hosts-with-4k-page-size-is-supported",level:2},{value:"/usr/local/bin/box86: cannot execute binary file: Exec format error (ARM64 hosts)",id:"usrlocalbinbox86-cannot-execute-binary-file-exec-format-error-arm64-hosts",level:2},{value:"FAQ",id:"faq",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"known-issues",children:"Known Issues"}),"\n",(0,i.jsx)(n.p,{children:"Known issues of using this Docker image."}),"\n",(0,i.jsx)(n.h2,{id:"palworldsettingsini-keeps-resetting",children:"PalWorldSettings.ini keeps resetting"}),"\n",(0,i.jsxs)(n.p,{children:["If the ",(0,i.jsx)(n.code,{children:"PalworldSettings.ini"})," keeps resettings after you have changed the file and rebooted the server.\nPlease make sure you have ",(0,i.jsx)(n.code,{children:"DISABLE_GENERATE_SETTINGS"})," set to ",(0,i.jsx)(n.code,{children:"true"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["If this is not the case, your setting will be overwritten by the settings set via ",(0,i.jsx)(n.a,{href:"https://palworld-server-docker.loef.dev/getting-started/configuration/game-settings",children:"the environment variables"}),"."]}),"\n",(0,i.jsxs)(n.admonition,{type:"tip",children:[(0,i.jsxs)(n.p,{children:["It is recommended you use the environment variables to set your game settings, instead of manually changing the ",(0,i.jsx)(n.code,{children:"PalWorldSettings.ini"})]}),(0,i.jsx)(n.p,{children:"If you do want to change the file manually, please make sure the server is off when you make the changes."})]}),"\n",(0,i.jsx)(n.h2,{id:"broadcast-command-can-only-send-1-word",children:"Broadcast command can only send 1 word"}),"\n",(0,i.jsx)(n.p,{children:"When using Broadcast among RCON's functions, only one word is transmitted."}),"\n",(0,i.jsx)(n.p,{children:"As an example, if I use:"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:'docker exec -it palworld-server rcon-cli Broadcast "Hello world"'})}),"\n",(0,i.jsx)(n.p,{children:"only Hello is transmitted."}),"\n",(0,i.jsx)(n.h2,{id:"xbox-gamepass-players-unable-to-join",children:"XBox GamePass players unable to join"}),"\n",(0,i.jsx)(n.p,{children:"At the moment, Xbox Gamepass/Xbox Console players will not be able to join a dedicated server."}),"\n",(0,i.jsx)(n.p,{children:"They will need to join players using the invite code and are limited to sessions of 4 players max."}),"\n",(0,i.jsx)(n.h2,{id:"s_api-fail",children:"[S_API FAIL]"}),"\n",(0,i.jsx)(n.p,{children:"The server will sometimes output the following error:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"[S_API FAIL] Tried to access Steam interface SteamUser021 before SteamAPI_Init succeeded.\n[S_API FAIL] Tried to access Steam interface SteamFriends017 before SteamAPI_Init succeeded.\n[S_API FAIL] Tried to access Steam interface STEAMAPPS_INTERFACE_VERSION008 before SteamAPI_Init succeeded.\n[S_API FAIL] Tried to access Steam interface SteamNetworkingUtils004 before SteamAPI_Init succeeded.\n"})}),"\n",(0,i.jsx)(n.p,{children:"This can safely be ignored and will not impact the server."}),"\n",(0,i.jsx)(n.h2,{id:"setting-breakpad-minidump-appid--2394010",children:"Setting breakpad minidump AppID = 2394010"}),"\n",(0,i.jsx)(n.p,{children:"This means that the server is up and running, if you still can't connect to it,\nit means that you'll need to look at the following:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Firewall settings, make sure that you allow port 8211/udp and 27015/udp through your firewall"}),"\n",(0,i.jsx)(n.li,{children:"Make sure you've correctly port forwarded your 8211/udp 27015/udp"}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"only-arm64-hosts-with-4k-page-size-is-supported",children:"Only ARM64 hosts with 4k page size is supported"}),"\n",(0,i.jsx)(n.p,{children:"This error occurs when the container detects that the host kernel does not have a 4k page size,\nwhich is required for the emulation used for ARM64 architecture. The container relies on this specific page\nsize for proper execution."}),"\n",(0,i.jsx)(n.p,{children:"If the host kernel does not have a 4k page size, you have a couple of alternatives:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Download server files in a different machine"}),": The 4k page size limitation is only applicable for steamcmd\nARM emulation. You may try initializing the container in a fully supported machine (AMD64 or ARM64 with 4k page size)\nand let it download the server files with ",(0,i.jsx)(n.code,{children:"UPDATE_ON_BOOT"})," enabled. Make sure to disable ",(0,i.jsx)(n.code,{children:"UPDATE_ON_BOOT"})," in the\nproblematic machine to prevent steamcmd from executing."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Change/Modify Kernel"}),": You can consider changing the kernel of your host machine to one that supports a 4k page size."]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["The Raspberry Pi 5 with Raspberry Pi OS has an easy ",(0,i.jsx)(n.a,{href:"https://github.com/raspberrypi/bookworm-feedback/issues/107#issuecomment-1773810662",children:"switch"}),"."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Switch OS"}),": Another option is to switch OS to ones shipped with 4k page size kernels."]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Debian and Ubuntu are known working Linux distros."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Run within a VM"}),": Another option is to run the container within a virtual machine (VM) that is configured\nwith a kernel supporting a 4k page size. By doing so, you can ensure compatibility and proper execution of the\ncontainer."]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"usrlocalbinbox86-cannot-execute-binary-file-exec-format-error-arm64-hosts",children:"/usr/local/bin/box86: cannot execute binary file: Exec format error (ARM64 hosts)"}),"\n",(0,i.jsx)(n.p,{children:"This means that the Docker host is unable to run AArch32 binaries such as Box86 without an additional\ncompatibility layer which is the case for Apple Silicon."}),"\n",(0,i.jsxs)(n.p,{children:["Docker Desktop solves this by running its containers inside a VM (QEMU) with a compatible kernel.\nHowever, if you're unable to use Docker Desktop, then try setting ",(0,i.jsx)(n.code,{children:"ARM_COMPATIBILITY_MODE"})," to ",(0,i.jsx)(n.code,{children:"true"}),".\nThis will switch the container from using Box86 to QEMU when running steamcmd."]}),"\n",(0,i.jsx)(n.h2,{id:"faq",children:"FAQ"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://gist.github.com/Toakan/3c78a577c21a21fcc5fa917f3021d70e#file-palworld-server-faq-community-md",children:"A useful FAQ that gets updated regularly"})})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},8453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>a});var i=s(6540);const t={},r=i.createContext(t);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.a65575dc.js b/assets/js/runtime~main.74ffd0b7.js similarity index 88% rename from assets/js/runtime~main.a65575dc.js rename to assets/js/runtime~main.74ffd0b7.js index ad6c0d84b..562e56f71 100644 --- a/assets/js/runtime~main.a65575dc.js +++ b/assets/js/runtime~main.74ffd0b7.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,t,r,f,o={},c={};function d(e){var a=c[e];if(void 0!==a)return a.exports;var t=c[e]={id:e,loaded:!1,exports:{}};return o[e].call(t.exports,t,t.exports,d),t.loaded=!0,t.exports}d.m=o,d.c=c,e=[],d.O=(a,t,r,f)=>{if(!t){var o=1/0;for(i=0;i=f)&&Object.keys(d.O).every((e=>d.O[e](t[n])))?t.splice(n--,1):(c=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[t,r,f]},d.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return d.d(a,{a:a}),a},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,d.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var f=Object.create(null);d.r(f);var o={};a=a||[null,t({}),t([]),t(t)];for(var c=2&r&&e;"object"==typeof c&&!~a.indexOf(c);c=t(c))Object.getOwnPropertyNames(c).forEach((a=>o[a]=()=>e[a]));return o.default=()=>e,d.d(f,o),f},d.d=(e,a)=>{for(var t in a)d.o(a,t)&&!d.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},d.f={},d.e=e=>Promise.all(Object.keys(d.f).reduce(((a,t)=>(d.f[t](e,a),a)),[])),d.u=e=>"assets/js/"+({48:"a94703ab",51:"759d9c7b",98:"a7bd4aaa",132:"4663f5f5",138:"1a4e3797",166:"3ff43f10",168:"c3826a0d",242:"57897e26",261:"8482a3f6",262:"3f1e559a",281:"ca732820",295:"db373f69",368:"6fca854b",401:"17896441",458:"9c401ef1",558:"8a6a27d2",581:"935f2afb",607:"7a181475",627:"12e5e4b2",647:"5e95c892",648:"712f1aaf",650:"2e7855a2",740:"d506b4f4",789:"f87e4a5f",816:"cad781b3",825:"8de80f25",859:"729a6696",867:"5d9b568c",882:"751b19c7",888:"582288e3",944:"a9f89893",969:"14eb3368",974:"c19f478c",978:"9035fd2b",986:"e2835484",988:"d1368834"}[e]||e)+"."+{48:"02b5e265",51:"4b51d7b7",98:"145209f4",132:"32c111dd",138:"c2e44870",166:"bf475687",168:"fcbec68e",237:"a6c2ea50",242:"4dba8c14",261:"165eab94",262:"d30642c5",281:"aec7bd22",295:"88135ce8",368:"aa7d54b5",401:"60fd5aa0",416:"01fa0aa0",458:"461b9dc1",462:"7ba2962e",558:"3576d900",581:"d620a4a3",607:"b3de5596",627:"88262570",647:"7d68165d",648:"51c526bf",650:"4a38036d",740:"2d329c9f",789:"a7c91cd0",816:"3582594c",825:"2fa1f1b8",859:"d59e4e85",867:"74cb50cd",882:"6c94afd6",888:"2258ec78",913:"bc1d3c65",944:"4b39720f",969:"bdaf26e9",974:"c004da89",978:"abf5db9d",986:"7af5aab6",988:"8bf80d45"}[e]+".js",d.miniCssF=e=>{},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),r={},f="docusaurus:",d.l=(e,a,t,o)=>{if(r[e])r[e].push(a);else{var c,n;if(void 0!==t)for(var b=document.getElementsByTagName("script"),i=0;i{c.onerror=c.onload=null,clearTimeout(s);var f=r[e];if(delete r[e],c.parentNode&&c.parentNode.removeChild(c),f&&f.forEach((e=>e(t))),a)return a(t)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=l.bind(null,c.onerror),c.onload=l.bind(null,c.onload),n&&document.head.appendChild(c)}},d.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.p="/",d.gca=function(e){return e={17896441:"401",a94703ab:"48","759d9c7b":"51",a7bd4aaa:"98","4663f5f5":"132","1a4e3797":"138","3ff43f10":"166",c3826a0d:"168","57897e26":"242","8482a3f6":"261","3f1e559a":"262",ca732820:"281",db373f69:"295","6fca854b":"368","9c401ef1":"458","8a6a27d2":"558","935f2afb":"581","7a181475":"607","12e5e4b2":"627","5e95c892":"647","712f1aaf":"648","2e7855a2":"650",d506b4f4:"740",f87e4a5f:"789",cad781b3:"816","8de80f25":"825","729a6696":"859","5d9b568c":"867","751b19c7":"882","582288e3":"888",a9f89893:"944","14eb3368":"969",c19f478c:"974","9035fd2b":"978",e2835484:"986",d1368834:"988"}[e]||e,d.p+d.u(e)},(()=>{var e={354:0,869:0};d.f.j=(a,t)=>{var r=d.o(e,a)?e[a]:void 0;if(0!==r)if(r)t.push(r[2]);else if(/^(354|869)$/.test(a))e[a]=0;else{var f=new Promise(((t,f)=>r=e[a]=[t,f]));t.push(r[2]=f);var o=d.p+d.u(a),c=new Error;d.l(o,(t=>{if(d.o(e,a)&&(0!==(r=e[a])&&(e[a]=void 0),r)){var f=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;c.message="Loading chunk "+a+" failed.\n("+f+": "+o+")",c.name="ChunkLoadError",c.type=f,c.request=o,r[1](c)}}),"chunk-"+a,a)}},d.O.j=a=>0===e[a];var a=(a,t)=>{var r,f,o=t[0],c=t[1],n=t[2],b=0;if(o.some((a=>0!==e[a]))){for(r in c)d.o(c,r)&&(d.m[r]=c[r]);if(n)var i=n(d)}for(a&&a(t);b{"use strict";var e,a,t,r,f,o={},c={};function d(e){var a=c[e];if(void 0!==a)return a.exports;var t=c[e]={id:e,loaded:!1,exports:{}};return o[e].call(t.exports,t,t.exports,d),t.loaded=!0,t.exports}d.m=o,d.c=c,e=[],d.O=(a,t,r,f)=>{if(!t){var o=1/0;for(i=0;i=f)&&Object.keys(d.O).every((e=>d.O[e](t[n])))?t.splice(n--,1):(c=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[t,r,f]},d.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return d.d(a,{a:a}),a},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,d.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var f=Object.create(null);d.r(f);var o={};a=a||[null,t({}),t([]),t(t)];for(var c=2&r&&e;"object"==typeof c&&!~a.indexOf(c);c=t(c))Object.getOwnPropertyNames(c).forEach((a=>o[a]=()=>e[a]));return o.default=()=>e,d.d(f,o),f},d.d=(e,a)=>{for(var t in a)d.o(a,t)&&!d.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},d.f={},d.e=e=>Promise.all(Object.keys(d.f).reduce(((a,t)=>(d.f[t](e,a),a)),[])),d.u=e=>"assets/js/"+({48:"a94703ab",51:"759d9c7b",98:"a7bd4aaa",132:"4663f5f5",138:"1a4e3797",166:"3ff43f10",168:"c3826a0d",242:"57897e26",261:"8482a3f6",262:"3f1e559a",281:"ca732820",295:"db373f69",368:"6fca854b",401:"17896441",458:"9c401ef1",558:"8a6a27d2",581:"935f2afb",607:"7a181475",627:"12e5e4b2",647:"5e95c892",648:"712f1aaf",650:"2e7855a2",740:"d506b4f4",789:"f87e4a5f",816:"cad781b3",825:"8de80f25",859:"729a6696",867:"5d9b568c",882:"751b19c7",888:"582288e3",944:"a9f89893",969:"14eb3368",974:"c19f478c",978:"9035fd2b",986:"e2835484",988:"d1368834"}[e]||e)+"."+{48:"02b5e265",51:"4b51d7b7",98:"145209f4",132:"74f442d0",138:"c2e44870",166:"bf475687",168:"82a56cf4",237:"a6c2ea50",242:"4dba8c14",261:"3b487536",262:"0dba0fc3",281:"3286a680",295:"88135ce8",368:"aa7d54b5",401:"60fd5aa0",416:"01fa0aa0",458:"141ceceb",462:"7ba2962e",558:"b342d7c3",581:"3514c406",607:"b3de5596",627:"88262570",647:"7d68165d",648:"51c526bf",650:"4a38036d",740:"2d329c9f",789:"a7c91cd0",816:"04fa3a34",825:"a03cbdcc",859:"d59e4e85",867:"74cb50cd",882:"6c94afd6",888:"b2dd88b8",913:"bc1d3c65",944:"4b39720f",969:"bdaf26e9",974:"c004da89",978:"abf5db9d",986:"46f70fa2",988:"ed5f562d"}[e]+".js",d.miniCssF=e=>{},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),r={},f="docusaurus:",d.l=(e,a,t,o)=>{if(r[e])r[e].push(a);else{var c,n;if(void 0!==t)for(var b=document.getElementsByTagName("script"),i=0;i{c.onerror=c.onload=null,clearTimeout(s);var f=r[e];if(delete r[e],c.parentNode&&c.parentNode.removeChild(c),f&&f.forEach((e=>e(t))),a)return a(t)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=l.bind(null,c.onerror),c.onload=l.bind(null,c.onload),n&&document.head.appendChild(c)}},d.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.p="/",d.gca=function(e){return e={17896441:"401",a94703ab:"48","759d9c7b":"51",a7bd4aaa:"98","4663f5f5":"132","1a4e3797":"138","3ff43f10":"166",c3826a0d:"168","57897e26":"242","8482a3f6":"261","3f1e559a":"262",ca732820:"281",db373f69:"295","6fca854b":"368","9c401ef1":"458","8a6a27d2":"558","935f2afb":"581","7a181475":"607","12e5e4b2":"627","5e95c892":"647","712f1aaf":"648","2e7855a2":"650",d506b4f4:"740",f87e4a5f:"789",cad781b3:"816","8de80f25":"825","729a6696":"859","5d9b568c":"867","751b19c7":"882","582288e3":"888",a9f89893:"944","14eb3368":"969",c19f478c:"974","9035fd2b":"978",e2835484:"986",d1368834:"988"}[e]||e,d.p+d.u(e)},(()=>{var e={354:0,869:0};d.f.j=(a,t)=>{var r=d.o(e,a)?e[a]:void 0;if(0!==r)if(r)t.push(r[2]);else if(/^(354|869)$/.test(a))e[a]=0;else{var f=new Promise(((t,f)=>r=e[a]=[t,f]));t.push(r[2]=f);var o=d.p+d.u(a),c=new Error;d.l(o,(t=>{if(d.o(e,a)&&(0!==(r=e[a])&&(e[a]=void 0),r)){var f=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;c.message="Loading chunk "+a+" failed.\n("+f+": "+o+")",c.name="ChunkLoadError",c.type=f,c.request=o,r[1](c)}}),"chunk-"+a,a)}},d.O.j=a=>0===e[a];var a=(a,t)=>{var r,f,o=t[0],c=t[1],n=t[2],b=0;if(o.some((a=>0!==e[a]))){for(r in c)d.o(c,r)&&(d.m[r]=c[r]);if(n)var i=n(d)}for(a&&a(t);b