Merge pull request #2445 from a-sync/add/game-server-watcher

Adds game-server-watcher bot
This commit is contained in:
Quinten 2023-10-24 21:18:05 +02:00 committed by GitHub
commit aa035fb3ff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 150 additions and 0 deletions

View File

@ -33,6 +33,7 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [CorpBot](/bots/discord/corpbot) Python * [CorpBot](/bots/discord/corpbot) Python
* [Dynamica](/bots/discord/dynamica) Node JS * [Dynamica](/bots/discord/dynamica) Node JS
* [fragbot](/bots/discord/fragbot) Golang * [fragbot](/bots/discord/fragbot) Golang
* [Game Server Watcher](/bots/discord/game-server-watcher) Node JS
* [JMusicBot](/bots/discord/jmusicbot) Java * [JMusicBot](/bots/discord/jmusicbot) Java
* [Muse](/bots/discord/muse) Node JS * [Muse](/bots/discord/muse) Node JS
* [parkertron](/bots/discord/parkertron) Golang * [parkertron](/bots/discord/parkertron) Golang

View File

@ -22,6 +22,11 @@ A very clumsy python bot for discord
[fragforce/fragbot](https://github.com/fragforce/fragbot) [fragforce/fragbot](https://github.com/fragforce/fragbot)
The bot that runs as the fragforce `@Fragbot` offering looking-for-group services for now The bot that runs as the fragforce `@Fragbot` offering looking-for-group services for now
### [Game Server Watcher](game-server-watcher)
[a-sync/game-server-watcher](https://github.com/a-sync/game-server-watcher)
A simple discord/telegram/slack bot that can be hosted on a free service to monitor your game servers and players in style. 😎
### [JMusicBot](jmusicbot) ### [JMusicBot](jmusicbot)
[jagrosh/MusicBot](https://github.com/jagrosh/MusicBot) [jagrosh/MusicBot](https://github.com/jagrosh/MusicBot)

View File

@ -0,0 +1,22 @@
# Game Server Watcher
## From [Github](https://github.com/a-sync/game-server-watcher#readme)
A simple discord/telegram/slack bot that can be hosted on a free service to monitor your game servers and players in style. 😎
## Screenshots
<img src="https://user-images.githubusercontent.com/14183614/162092529-e1645b44-2650-4893-8123-7ba187b1f51c.png" height="280"> <img src="https://user-images.githubusercontent.com/14183614/162092488-f28bd60c-88bf-4b1e-a31e-d7dca51d8c28.png" height="280"> <img src="https://github.com/a-sync/game-server-watcher/assets/14183614/0461ad76-bb13-468c-a7b3-437d6a3cea63" height="280"> <img src="https://github.com/a-sync/game-server-watcher/assets/14183614/ee0ef0de-83bc-42ae-8f64-62f481f6ba8f" height="280">
## Running the bot
Refer to the wiki on how to acquire tokens for:
* [steam](https://github.com/a-sync/game-server-watcher/wiki/Steam-Web-API-key)
* [discord](https://github.com/a-sync/game-server-watcher/wiki/Discord-bot-token)
* [telegram](https://github.com/a-sync/game-server-watcher/wiki/Telegram-bot-token)
* [slack](https://github.com/a-sync/game-server-watcher/wiki/Slack-bot-token)
## Server Ports
GSW Control Panel requires one port for http traffic.
(It can be any port.)
| Port | default |
|---------|---------|
| Web | 8081 |

View File

@ -0,0 +1,122 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-10-24T16:33:47+00:00",
"name": "Game Server Watcher",
"author": "a-sync@devs.space",
"description": "A simple discord\/telegram\/slack bot that can be hosted on a free service to monitor your game servers and players in style. \ud83d\ude0e",
"features": null,
"docker_images": {
"Node.js 20": "ghcr.io\/parkervcp\/yolks:nodejs_20"
},
"file_denylist": [],
"startup": "env PORT={{SERVER_PORT}} \/usr\/local\/bin\/node \/home\/container\/dist\/server.js",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"starting loop...\"\r\n}",
"logs": "{}",
"stop": "^^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\napt-get update && apt-get install ca-certificates git -yq --no-install-suggests --no-install-recommends --allow-downgrades --allow-remove-essential --allow-change-held-packages\r\ncd \/mnt\/server\r\ngit config --global --add safe.directory \/mnt\/server\r\ngit clone https:\/\/github.com\/a-sync\/game-server-watcher.git . || git pull\r\nnpm install && npm run build\r\nnpm prune --omit=dev",
"container": "node:20-bullseye-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "SECRET",
"description": "Admin secret",
"env_variable": "SECRET",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|min:8|max:255",
"field_type": "text"
},
{
"name": "DATA_PATH",
"description": "Writable folder for data storage",
"env_variable": "DATA_PATH",
"default_value": ".\/data\/",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|min:1|max:255",
"field_type": "text"
},
{
"name": "REFRESH_TIME_MINUTES",
"description": "Game server info refresh interval in minutes",
"env_variable": "REFRESH_TIME_MINUTES",
"default_value": "2",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer|min:1",
"field_type": "text"
},
{
"name": "DISCORD_BOT_TOKEN",
"description": "Discord bot token",
"env_variable": "DISCORD_BOT_TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "TELEGRAM_BOT_TOKEN",
"description": "Telegram bot token",
"env_variable": "TELEGRAM_BOT_TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "STEAM_WEB_API_KEY",
"description": "Steam web API key",
"env_variable": "STEAM_WEB_API_KEY",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "Debug Mode",
"description": "Enable or disable debug mode.",
"env_variable": "DBG",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|in:0,1",
"field_type": "text"
},
{
"name": "SLACK_BOT_TOKEN",
"description": "Slack bot token",
"env_variable": "SLACK_BOT_TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "SLACK_APP_TOKEN",
"description": "Slack app token",
"env_variable": "SLACK_APP_TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
}
]
}