= Как мне автоматизировать мой сервер AWS EC2 Minecraft, чтобы он работал только тогда, когда люди находятся в сети? знак равно
![ ](httpswww.redditstatic.com/desktop2x/img/renderTimingPixel.png)
Я хочу, чтобы сервер был в автономном режиме, когда никого нет, и в сети, когда кто-то пытается подключиться.
Да этот! Теперь также есть работающая реализация CDK.
У меня есть незавершенная ветка для оперативного редактирования серверных файлов с помощью cloudshell и ECS exec, поэтому вам не нужно настраивать для нее сложные задачи. Просто нужно немного больше испытаний
как насчет того, чтобы заставить его запускаться из журнала брандмауэра пользователя, подключающегося к порту tcpip Minecraft?
Бот Discord запускает веб-хук на лямбду, чтобы включить//выключить экземпляр, это то, что делают люди.
Вот только пример. Я не говорю, что это именно то, что вам нужно, но это основная предпосылка:
httpsdrpump.github.io/ec2-discord-бот/
Может быть интересно httpssidoine.org/how-to-run-a-minecraft-server-on-aws-for-less-than-3-usd-a-month
я
В общих чертах:
Напишите скрипт Python, который запускает ваш экземпляр EC2.
Запустите скрипт из лямбда-функции.
Создайте URL-адрес, который вызывает лямбду.
Автоматизируйте отключение инстанса EC2 при простое.
Предупреждение: есть много способов сделать это неправильно, чтобы кто-то завладел вашей учетной записью и выставил огромный счет.
Это был бы общепринятый способ организации экземпляра EC2. Сузьте учетную запись службы с минимальной ролью, привязанной только к этому отключенному экземпляру.
Вы можете предоставить им доступ IAM только для запуска/остановки экземпляра. Кроме того, вы можете выставить это через интеграцию лямбда-http и использовать его как веб-перехватчик, который запускает экземпляр (подумайте об аспектах безопасности). Для выключения вы можете автоматизировать этот аспект, используя журналы потоков VPC, и если за последние N минут нет трафика на порт сервера Minecraft, он отключен?
httpsgithub.com/infinisil/on-demand-minecraft — довольно крутой трюк, но я не уверен, где он запускает прокси-сервер пересылки.
У вас проблема курицы и яйца. Он должен быть уже запущен, чтобы пользователь мог попытаться подключиться к нему в первую очередь.
Вы можете создать небольшое веб-приложение для запуска, которое может отправить команду для запуска сервера, если он выключен. Если все ваши друзья знают, что сначала нужно проверить это и подождать несколько минут (или любое другое время запуска), прежде чем им будет отправлено SMS-сообщение, подтверждающее, что оно запущено, тогда это может сработать.
Это не супер обтекаемый, но это решение.
Попался. Есть ли способ, чтобы мои друзья запускали инстанс и закрывали его, когда они закончат?
Вы можете настроить их на конечную точку лямбда, которая запускает экземпляр, а затем настроить его на отключение, если нет подключений после X времени внутри экземпляра с помощью простого задания cron.
httpsbriancaffey.github.io/2021/03/18/on-demand-dedicated-serverless-valheim-server-with-cdk-discrod-interactions/
Это, за исключением того, что вместо контейнера Valheim CDK используется бумага.
Я сделал простой веб-интерфейс для включения/выключения экземпляра EC2. Он использует API Gateway для обслуживания страницы и управления экземпляром, поэтому практически бесплатно.
httpsgithub.com/davidcomerford/sketchy-router-controller
Я использую его для включения/выключения своего экземпляра VPN, если кому-то интересно название.