a texting based idle MMO-RPG powered by AI.
Embark on quests, join guilds, play minigames, cast spells... All by texting!
The "main" version of pilgram is running on @pilgram_bot on Telegram if you want to try it out.
Note: requires Python >= 3.12.0
- Open a terminal
- Move into a folder that doesn't have a folder named 'pilgram'
- clone the repository with git clone https://github.com/SudoOmbro/pilgram
- Move into the newly created pilgram folder with cd pilgram
- Create a Python virtual enviorment with python3.12 -m venv venv
- Activate the Python virtual enviorment with source venv/bin/activate
- Install the requirements with pip install -r requirements.txt
- Deactivate the Python virtual enviormante with deactivate
- Configure (see next section)
Pilgram has 2 main config files:
- content/content_meta.json: contains all the info about the world & the content in the game
- settings.json: contains general system settings like tokens & intervals
to Create settings.json simply rename settings_template.json or run cp settings_template.json settings.json, then proceed to change all XXX values to your own tokens.
Pilgram can be run simply by activating the Python virtual enviorment and then running the main file with python main.py. This is a simple but not ideal way of doing it, it does however give you easy access to the Admin CLI, which can be used to add content to the game and change some player values.
It is preferable to deploy pilgram as a daemon on a linux server:
Open a terminal window in the folder where you pulled this repo and run docker build -t pilgram . and then run the built image with docker run pilgram
here's how to deploy pilgram to a linux server:
Create a user and name it pilgram with adduser pilgram
Switch to the pilgram user with su pilgram and then move the the home directory with cd
Follow the same installation & configuration steps as described above, then run sudo nano /etc/systemd/system/pilgram.service and write the following:
Exit nano and save the buffer, then run sudo nano /etc/systemd/system/pilgram.socket and write the following:
Again, exit nano and save.
Now that everything is set up, you can run systemctl daemon-reload to reaload all your daemons (and load the new ones you just added). Now all that remains to do is starting your new daemons, so just run systemctl start pilgram.socket & systemctl start pilgram.service and everything should work fine.
You can check that everything is working by running systemctl status pilgram.socket & systemctl status pilgram.service.
This setup also lets you interact with the admin console by running echo "command" > /run/pilgram.stdin, which is very clunky to do honestly, which is why i suggest creating & using a bash function like this:
by using this function the previous echo + piping thing just becomes wpc "your command here", which is much more convenient.
.png)










