ekeih / satisfactory-bot

A Telegram bot to manage Docker images for a Satisfactory dedicated server and post update news to Telegram.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

satisfactory-bot

A Telegram bot to manage Docker images for a Satisfactory dedicated server and post update news to Telegram.

Satisfactory is a first-person open-world factory building game with a dash of exploration and combat. Play alone or with friends, explore an alien planet, create multi-story factories, and enter conveyor belt heaven!

This repository is in no way affiliated with the Satisfactory brand or Coffee Stain Studios. For information about the game refer to the official website or the dedicated server documentation. For issues with the game consult the official help.

Dedicated Server

This repository provides Docker images for all versions of the dedicated server that are available on Steam. New versions should be available 15-30 minutes after an official update was published on Steam.

Game Version Docker Image
Early Access server-public
Experimental server-experimental

The images are tagged with the release date and the build ID, e.g. 2022.05.24-8719350.

Following ports are exposed by the Docker images:

  • 15777/udp
  • 15000/udp
  • 7777/udp

The game data is stored in /home/steam/.config/Epic/FactoryGame/Saved/SaveGames/server and configuration data in /home/steam/Steam/SatisfactoryDedicatedServer/FactoryGame/Saved. If you run into permission issues or missing files in the second directory during the first start, check this issue.

The Bot

Note

If you only want to use the dedicated server to play Satisfactory, you do not need to use or run the bot yourself. Just use one of the existing images from above.

When the bot discovers a new release of the dedicated server it pushes a git tag to the repository which triggers a GitHub action to build a Docker images with the respective version. The bot checks for new versions every 10 minutes. You can manually trigger a check for new releases by sending /images to your bot.

The bot checks for new release notes every 60 minutes and posts new release notes to the specified Telegram chat. You can manually trigger a check for new release notes by sending /news to your bot.

If you really want to run the bot, the easiest way is to fork this repository. Create a GitHub personal access token that has write access to the fork and also create a Telegram bot token. To run the bot you can either use the existing bot image or clone the repository, install the bot manually with cd satisfactory-bot && pip install ..

Then run the bot: satisfactory-bot -b $telegram-bot-token -g $github-token -c $telegram-chat-id -r $github-repository.

Credits

Thanks to YannickFricke/Satisfactory-DS-Docker for the inspiration to automatically build Docker images for the dedicated server and the initial Dockerfile.

License

The source code in this repository and the Docker image of the bot are licensed under the MIT license. While building the server images proprietary content (steamcmd and the dedicated server) is downloaded and installed from Valve and Coffee Stain Studios.

About

A Telegram bot to manage Docker images for a Satisfactory dedicated server and post update news to Telegram.

License:MIT License


Languages

Language:Python 91.3%Language:Dockerfile 8.7%