itzpapalotl

command module
v0.0.0-...-03909ca Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 13, 2024 License: MIT Imports: 12 Imported by: 0

README

Itzpapalotl

Itzpapalotl is a PalWorld server wrapper to make it on-demand.

Motivation

PalWorld is a great game. We can build a PalWorld server ourselves. However, there are some problems with the server.

  • Pal health
    • Pal will starve, or get sick if the server is running for a long time.
    • (It has been improved in the recent update probably)
  • Electricity cost
    • Running a server 24/7 costs a lot of electricity if the server is running on a physical machine.
  • Lagging game
    • PalWorld server consumes much memory if the server is running for a long time.
    • It causes the game to lag.

Itzpapalotl solves these problems.

What Itzpapalotl does

Itzpapalotl does the following things.

  • Start the server when the user wants to play the game.
    • Itzpapalotl does not start the PalWorld server until the user logs in to the server.
  • Stop the server when all users log out.
    • Itzpapalotl stops the PalWorld server if no one has played it for 30 minutes.
  • Restart the server when the server consumes much memory.
    • It avoids the game lagging.

With Itzpapalotl, the PalWorld server is running only when the user wants to play the game!

Installation

Pre-requirements

Itzpapalotl requires the following things.

  • Linux
    • It only works on Linux.
  • Enable RCON
    • You have to enable RCON in the PalWorld server because Itzpapalotl uses RCON to control the server.
    • Set RCONEnabled=true in your PalWorldSettings.ini.
  • ps(1)
Install Itzpapalotl

Install the executable file from the latest release.

curl -L https://github.com/pocke/itzpapalotl/releases/latest/download/itzpapalotl_Linux_x86_64.tar.gz -o itzpapalotl_Linux_x86_64.tar.gz
tar -xvf itzpapalotl_Linux_x86_64.tar.gz
cp itzpapalotl /path/to/install/
Usage and Configuration

Use itzpapalotl command instead of ./PalServer.sh. The simplest example is:

itzpapalotl -admin-password ADMIN_PASSWORD -- /path/to/PalServer.sh

The ADMIN_PASSWORD is the password that is configured as AdminPassword in PalWorldSettings.ini.

You can specify arguments for PalServer.sh after --. For example:

itzpapalotl -admin-password ADMIN_PASSWORD -- /path/to/PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS

itzpapalotl has some options. You can see them by itzpapalotl --help.

$ ./itzpapalotl --help
Usage: itzpapalotl [options] -- [palworld server command]
  -admin-password string
    	Admin password
  -memory-threshold int
    	Memory usage threshold (kb). If the process exceeds this threshold, it will be shut down. (default 10000000)
  -rcon-port int
    	RCON port (default 25575)
  -server-port int
    	PalWorld server port (default 8211)

Why I named it "Itzpapalotl"

  1. Open https://ja.wikipedia.org/wiki/%E7%A5%9E%E3%81%AE%E4%B8%80%E8%A6%A7
  2. Enter Ctrl + F and search pal
  3. I found it!

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL