- About the Project
- Features
- Prerequisites
- Express Installation
- Manual Installation
- Optional: Discord Bot Setup
- Restart Script
- Operational Notes
- Managing Docker Instances
- Contributing
This repository provides robust scripts for managing geofencing-based seeding configurations on Hell Let Loose (HLL) servers. It supports two distinct seeding modes:
- Midcap Seeding: Restricts gameplay to midcap objectives.
- Last Cap Seeding: Blocks the last two enemy lines to encourage seeding.
The solution leverages Docker for streamlined deployment and includes optional Discord bot integration for remote management, making it ideal for server administrators seeking efficient, scalable seeding control.
- Dynamic Geofencing: Configurable player count thresholds to trigger geofencing rules.
- Dockerized Deployment: Simplifies setup and ensures consistent runtime environments.
- Discord Bot Integration: Optional remote control via Discord for real-time management.
- Dual Configuration Support: Seamlessly switch between midcap and last cap seeding modes.
Ensure the following are installed and configured:
- Git: For cloning the repository.
- Docker: For containerized deployment.
- Node.js and npm: Required for the optional Discord bot.
- HLL Server RCON Access: Requires server IP, RCON port, and password.
The express installation script automates setup, minimizing manual configuration. It’s recommended to review the .env
file post-installation to customize warning/punishment messages or Discord settings.
-
Clone the Repository:
git clone https://github.com/2KU77B0N3S/hll-geofences cd hll-geofences
-
Execute Installation Script:
bash install_hll_geofences.sh
This script configures environment files, Docker settings, and default seeding parameters.
-
Review
.env
File:nano .env
Customize warning/punishment messages and verify Discord bot parameters (e.g., token, channel ID) if applicable.
-
Launch Docker Container:
docker compose up -d
Post-Installation: Proceed to the Optional: Discord Bot Setup section for bot configuration. Adjust
seeding.midcap.yml
andseeding.lastcap.yml
for server-specific settings (e.g.,SERVER-IP
,RCON-PORT
,RCON-PW
) as needed.
For granular control, follow these steps to configure the geofencing scripts manually.
-
Clone the Repository:
git clone https://github.com/2KU77B0N3S/hll-geofences cd hll-geofences
-
Configure Environment File:
mv seeding.example.env .env nano .env
Populate required fields, including Discord bot token and channel ID (if used).
-
Set Up Docker Configuration:
mv seeding.docker-compose.yml docker-compose.yml
-
Configure Midcap Seeding:
nano seeding.midcap.yml
Specify
SERVER-IP
,RCON-PORT
,RCON-PW
, and optionally adjust the player count threshold for geofencing. -
Configure Last Cap Seeding:
nano seeding.lastcap.yml
Provide
SERVER-IP
,RCON-PORT
,RCON-PW
, and customize the player threshold as needed. -
Build Docker Image:
docker compose build
Rebuild after any configuration changes to ensure consistency.
-
Start Docker Container:
docker compose up -d
-
Stop Docker Container (if required):
docker compose down
Enable remote management by configuring the JavaScript-based Discord bot.
-
Install Dependencies:
npm install
-
Launch Discord Bot:
node seeding.main.mjs
Tip: Use a process manager like PM2 for persistent bot execution in production environments.
The restart.sh
script simplifies management of hll-geofences-midcap
and hll-geofences-lastcap
containers defined in docker-compose.yml
.
chmod +x restart.sh
./restart.sh restart
start
: Launches both containers.stop
: Halts both containers.restart
: Restarts both containers.
Logs are written to restart-containers.log
in the root directory for troubleshooting.
- Configuration Verification: Always validate
.env
,seeding.midcap.yml
, andseeding.lastcap.yml
before launching containers. - Docker Rebuild: Run
docker compose build
after modifying configuration or Docker files to apply changes. - Discord Bot: Optional and can be omitted if remote control is unnecessary.
- Persistence: Consider PM2 or similar for long-running scripts in production.
- Check Container Status:
docker ps
- View Logs:
docker compose logs
- Restart Containers:
docker compose restart
Contributions are welcome! Submit issues, feature requests, or pull requests via the GitHub repository.