GShellPack: The Ultimate Toolkit for Game Server Management

Getting Started with GShellPack: Installation to Advanced Use

What GShellPack is

GShellPack is a command-line toolkit that automates game-server tasks: installation, configuration, plugin management, backups, and deployment workflows. It wraps common server operations into reproducible scripts and commands so administrators can manage multiple servers more efficiently.

Quick prerequisites

  • Linux-based server (Ubuntu/Debian or CentOS/RHEL recommended)
  • SSH access and sudo privileges
  • Java, Node.js, or other runtime as required by the specific game server (check the game’s requirements)
  • Basic familiarity with shell commands

Installation (assume Ubuntu/Debian)

  1. Update packages:
    bash
    sudo apt update && sudo apt upgrade -y
  2. Install prerequisites (example: curl, unzip, git):
    bash
    sudo apt install -y curl unzip git
  3. Download GShellPack (assume GitHub release):
    bash
    curl -Lo gshellpack.tar.gz https://example.com/gshellpack/latest.tar.gztar -xzf gshellpack.tar.gzsudo mv gshellpack /opt/gshellpack
  4. Create a symlink for the CLI:
    bash
    sudo ln -s /opt/gshellpack/gshellpack.sh /usr/local/bin/gshellpacksudo chmod +x /usr/local/bin/gshellpack
  5. Verify install:
    bash
    gshellpack –version

Basic configuration

  1. Initialize a config for a server:
    bash
    gshellpack init –name myserver –path /srv/game/myserver
  2. Edit the generated config file (/srv/game/myserver/config.yml) to set:
    • server jar/path
    • memory limits
    • auto-restart policy
    • plugin list and sources
  3. Start server:
    bash
    gshellpack start myserver
  4. Check logs:
    bash
    gshellpack logs myserver –follow

Common tasks

  • Deploy an update:
    bash
    gshellpack deploy myserver –from /tmp/update.zip
  • Install a plugin:
    bash
    gshellpack plugin install myserver plugin-name –source url_or_repo
  • Create a backup:
    bash
    gshellpack backup create myserver –dest /backups/myserver-\((date +%F).tar.gz</code></pre></div></div></li><li>Schedule automated backups (example using cron): <div><div>bash</div><div><div><button disabled="" title="Download file" type="button"><svg fill="none" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" width="14" height="14" color="currentColor"><path fill="currentColor" d="M8.375 0C8.72 0 9 .28 9 .625v9.366l2.933-2.933a.625.625 0 0 1 .884.884l-2.94 2.94c-.83.83-2.175.83-3.005 0l-2.939-2.94a.625.625 0 0 1 .884-.884L7.75 9.991V.625C7.75.28 8.03 0 8.375 0m-4.75 13.75a.625.625 0 1 0 0 1.25h9.75a.625.625 0 1 0 0-1.25z"></path></svg></button><button disabled="" title="Copy Code" type="button"><svg fill="none" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" width="14" height="14" color="currentColor"><path fill="currentColor" d="M11.049 5c.648 0 1.267.273 1.705.751l1.64 1.79.035.041c.368.42.571.961.571 1.521v4.585A2.31 2.31 0 0 1 12.688 16H8.311A2.31 2.31 0 0 1 6 13.688V7.312A2.31 2.31 0 0 1 8.313 5zM9.938-.125c.834 0 1.552.496 1.877 1.208a4 4 0 0 1 3.155 3.42c.082.652-.777.968-1.22.484a2.75 2.75 0 0 0-1.806-2.57A2.06 2.06 0 0 1 9.937 4H6.063a2.06 2.06 0 0 1-2.007-1.584A2.75 2.75 0 0 0 2.25 5v7a2.75 2.75 0 0 0 2.66 2.748q.054.17.123.334c.167.392-.09.937-.514.889l-.144-.02A4 4 0 0 1 1 12V5c0-1.93 1.367-3.54 3.185-3.917A2.06 2.06 0 0 1 6.063-.125zM8.312 6.25c-.586 0-1.062.476-1.062 1.063v6.375c0 .586.476 1.062 1.063 1.062h4.374c.587 0 1.063-.476 1.063-1.062V9.25h-1.875a1.125 1.125 0 0 1-1.125-1.125V6.25zM12 8h1.118L12 6.778zM6.063 1.125a.813.813 0 0 0 0 1.625h3.875a.813.813 0 0 0 0-1.625z"></path></svg></button></div></div><div><pre><code>crontab -e# add line to run daily at 03:000 3/usr/local/bin/gshellpack backup create myserver --dest /backups/daily-\)(date +%F).tar.gz

Advanced usage

  • Templates and blueprints: create reusable server blueprints to provision identical environments across hosts.
    bash
    gshellpack blueprint create –name survival-template –config ./config.ymlgshellpack provision –blueprint survival-template –host host1.example.com
  • CI/CD integration: run GShellPack commands in pipeline jobs to automate deployment and rollback.
  • Clustering and orchestration: use GShellPack with container orchestration (Docker + Docker Compose or Kubernetes) to scale game instances.
  • Custom hooks: add pre/post-deploy hooks to run scripts (database migration, map conversion).
  • Monitoring: integrate with Prometheus/Grafana via exported metrics or push logs to ELK.

Security and best practices

  • Run servers under dedicated user accounts, not root.
  • Keep backups off-site and test restorations.
  • Limit SSH access with keys and disable password auth.
  • Regularly update runtime (Java/Node) and GShellPack itself.
  • Use resource limits (cgroups or systemd) to prevent runaway processes.

Troubleshooting tips

  • Server won’t start: check memory settings and server jar compatibility.
  • Plugin conflicts: start with an empty plugin list and add one-by-one to isolate.
  • Permission errors: ensure

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *