This is a simple tool to allow you to reward players with VIP access for helping seed your Hell Let Loose server.
If you like what I do and would like me to continue volunteering my time, consider tossing me a few dollars:
-
A Hell Let Loose game server with Community RCON running.
-
Docker Engine (Community) installed:
-
Docker Compose installed:
- You should be able to use either
docker compose
ordocker-compose
depending on what you have installed, just adjust the commands below accordingly, butdocker-compose
is deprecated, this README and release announcements will show docker compose examples, if you haven't upgraded it is up to you to modify the commands and know what you are doing if it doesn't work.
- You should be able to use either
-
A CRCON account with the correct permissions and an API key
-
Somewhere to host it, it can be a VPS, your home computer, etc., it doesn't require any inbound network connections but it should be running anytime your server is seeding and it's easier to simply let it run 24/7.
- You should be able to host it on the same VPS you host CRCON on without issue
-
A minimal amount of disk space (the Docker images are about 220mb) and the logs should take very little space and rotate themselves.
-
Just about any CPU or RAM should work as long as it's enough to run Docker.
-
This should run anywhere that you can run Docker, if you're running this on Windows or any non-Linux operating system, you'll have to substitute shell commands as necessary, the examples are all for Linux
-
If you're running this on any architecture other than
amd64
you must build your own Docker images
Whichever account you use must have at least these permissions:
- api.can_add_vip
- api.can_message_players
- api.can_view_gamestate
- api.can_view_get_players
- api.can_view_vip_ids
- API keys are generated from your
admin
site in CRCON. - Generate an API key for the account you want to use (Admin Site > Django API Keys > Add) and note the value before you save
- It will look something like
d93d549f-7f12-4509-bc23-283dbf9aae9b
by default, but you can set it to anything you want - After you save it will be hashed and stored in CRCON and you won't be able to recover the old value
- It will look something like
-
I'd recommend just running this with
Docker
, otherwise you'll have to make sure you have a compatible version ofPython
and poetry and you'll just have to figure all that out on your own. -
If you do choose to go this route, make sure you create a virtual environment so you don't pollute your global packages.
-
You may find hapless useful to let it run in the background.
-
Clone the repository where you want to host it
git clone https://github.com/cemathey/hll_seed_vip.git
-
Enter the directory
cd hll_seed_vip
-
Checkout the latest release (substitute the version # you want)
git checkout v0.2.0
-
Create your
.env
file for Dockercp example.env .env
-
Edit your
.env
file and set yourAPI_KEY
to the API key for the CRCON user you want to use andDOCKER_TAG
to eitherlatest
or a specific version #. SetCOMPOSE_PROJECT_NAME
to a unique name (your server name, or whatever) with only lower case characters/numbers (a-z
,0-9
or_
or-
characters (not at the start or end)).COMPOSE_PROJECT_NAME=some_unique_name API_KEY=yourapikeyhere DOCKER_TAG=latest
-
Create the
config
directory if it doesn't existmkdir config
-
Create your
config.yml
filecp default_config.yml config/config.yml
-
Edit your
config.yml
file you just created and set whatever options you want (there are comments in the file) -
Pull the images (I have a free Docker Hub account which is limited to 200 image pulls per 6 hours) so if you receive an error message when pulling you either have to build your own image (
docker compose build
) or wait to pull them.docker compose pull
-
Start the container
docker compose up -d
-
Review the release instructions in case you need to make changes to your config files or
.env
-
⚠️ Review the release instructions!⚠️ -
Update your repository and checkout the version you want (substitute your version #)
git fetch --tags git checkout v0.2.1
-
Pull new images
docker compose pull
-
Create your container again
docker compose up -d
-
Any plans to support Battlemetrics RCON?
No. This tool relies on features that are inherent to CRCON like VIP with expiration dates, it's just not worth the time/effort to try to make it work with Battlemetrics.
You can run both BM RCON and CRCON at the same time without issue.
-
I've updated my config but nothing has changed
You must restart your Docker container for changes to take effect:
docker compose restart
- I have multiple game servers, how do I run this for more than one server?
Follow the install steps but do it in multiple directories and make sure you set COMPOSE_PROJECT_NAME
to a different name for each of them.
You will have to configure and update and run each one of them separately, but this made writing the tool a lot simpler.
For example, have the git repo in multiple directories on your computer.
~/server_1/hll_seed_vip/
~/server_2/hll_seed_vip/
~/server_2/hll_seed_vip.
-
Something is broken (look at the Troubleshooting section)
Open a GitHub issue please and include the complete stack trace of your error message if something is truly broken.
-
I can't get this working, will you help me?
Please use Google, most issues you experience are going to be things you can solve yourself (Invalid YAML configuration, Docker problems, etc.).
There are plenty of YAML validators out there to make sure your configuration file is correct.
If you really truly can't figure it out you can swing by my Discord and use the #non-crcon-troubleshooting channel and I may help you at some point if I am free.
-
I don't know how to use Docker, help!
Start Googling.
-
How do I change the logging level?
Change
LOG_LEVEL
in your.env
file to a different log level (DEUBG
,INFO
,ERROR
, etc) and re-up your container
docker compose up -d