Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Обращение к панели через Bash? #63

Open
t-lessy opened this issue Jan 13, 2024 · 2 comments
Open

Обращение к панели через Bash? #63

t-lessy opened this issue Jan 13, 2024 · 2 comments

Comments

@t-lessy
Copy link

t-lessy commented Jan 13, 2024

Есть ли возможность использовать включённую(!) панель через терминал? Если нет, то прошу попробовать добавить, если возможно. Конкретно свою ситуацию могу решить по-другому, но такой функционал может понадобится и в других ситуациях. Например:
./Kubek-Interface start-server server1 - старт сервера.
./Kubek -onstartup=server1 - старт сервера после загрузки Кубека.
./Kubek-Interface start-server server1 -ram 8192 - старт сервера с указанием лимита оперативной памяти в 8гб в start.sh (что-то похожее встроено в Forge сервера).
./Kubek-Interface execute server1 "/time set 0" - выполнение игровой команды.
./Kubek-Interface serv-prop server1 whitelist="off" - изменение server.properties.
./Kubek-Interface serv-prop server1 port="$[ $RANDOM % 25565 + 1111 ]" - изменение порта на случайный, тобишь костыльный динамический порт, который потом можно прочесть.
./Kubek-Interface return-property server1 port - чтение порта,
вместо: grep 'server-port=' server.properties | tr -d 'server\-port='
./Kubek-Interface return-property server1 available - возврат состояния сервера в булевом виде.

А-ля встроенный терминальный RCON, автоматизация Кубека (допустим, Кубек запускается при запуске как сервис), встроенный редактор конфигов.

Сценарий, в котором понадобилось:

  • Есть игровой сервер.
  • Есть ежедневные бэкапы.
  • Есть потребность сократить размер мира сторонними средствами из-за ресурса хранилища.

Действие нужного баш скрипта:

  1. Останавливает сервер командой "stop" в RCON. / Через Кубек.
  2. Запускает утилиту очищения мира.
  3. sleep 15m
  4. Запускает сервер через Кубек по приведённому выше примеру.
  5. RCON обращение: /maintenance on - запрет входа игроков
  6. RCON обращение: /backup create - бэкап сервера
  7. sleep 15m
  8. RCON обращение: /maintenance off - разрешение на вход игроков

Напоследок спасибо, дорогой Сирой, за столь прекрасное средство управления сервером! Одновременно легко в использовании, легковесно и приятно в наблюдении за проектом. Постараюсь и далее сообщать о недоработках и предлагать идеи. С лучшими пожеланиями, Лесс! 😉

@Seeroy
Copy link
Owner

Seeroy commented Jan 14, 2024

Приветствую. Вообще это автоматизировать можно с помощью API, документации на который пока что к сожалению нет. Возможно такие аргументы добавлю в Kubek, но это будет нескоро

Действие нужного баш скрипта:

Можно реализовать скрипт так:

SERVER="назв_сервера"
curl localhost:3000/api/servers/$SERVER/stop
sleep 1m # Время на выключение сервера
Утилита очищения мира
sleep 15m
curl localhost:3000/api/servers/$SERVER/start
sleep 5m # Время на запуск сервера
curl localhost:3000/api/servers/$SERVER/send?cmd=maintenance%20on
curl localhost:3000/api/servers/$SERVER/send?cmd=backup%20create
sleep 15m
curl localhost:3000/api/servers/$SERVER/send?cmd=maintenance%20off

P.S. Скрипт не тестил. Мой ник читается как Серой :)

@MeteoraCD2
Copy link

Когда ожидать описание API?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants