RedTeapot 155 Report post Posted September 18, 2018 (edited) В общем, я решил создать тему, куда я буду писать информацию, касающуюся администрирования сервера, но не связанную с сайтом. Просто потому что иначе я не знаю, куда все это складывать. Реализовал посадку за прокси. Есть белый список - список игроков, которых не сажает ни при каких условиях. Если кто-то хочет добавиться - пишите. Спойлер RedTeapot - @RedTeapot Lady_Lava - @Lady_Lava Mexises - @Mexises При определении прокси выполняются следующие команды ({} заменяется на никнейм игрока): Спойлер tellraw {} "Кажется, Вы используете прокси. Это не очень разрешено. Для выпуска из тюрьмы напишите на форум: https://forum.bbyaworld.com/" scoreboard players set {} alarmCode 103 Также происходит посадка слишком быстро богатеющих новичков. Подробнее тут. Edited December 19, 2018 by RedTeapot Пофиксил ник Лавы в вайтлисте 1 1 Share this post Link to post Share on other sites
BBya_Elsirion 16 Report post Posted September 22, 2018 В 18.09.2018 в 15:29, RedTeapot сказал: Есть белый список - список игроков, которых не сажает ни при каких условиях Какие критерии входа в этот список? Share this post Link to post Share on other sites Достижения
Admin 447 Report post Posted September 22, 2018 Особых - никаких. Для начала можешь попробовать описать - зачем тебе прокси, какой именно сервис используешь и зачем попадение в белый список? Share this post Link to post Share on other sites
RedTeapot 155 Report post Posted September 23, 2018 (edited) 14 часов назад, BBya_Elsirion сказал: Какие критерии входа в этот список? Просто сюда пишешь никнеймы, которые надо добавить. Есесна, ты за них отвечаешь. На всякий решил еще прописать, как происходит запуск и работа с игровым сервером. Работает оно все в screen-сессии юзера mcserver. Для создания сессии (например, после рестарта VPS) юзаем это: screen -dmS mcserver Оно запустит сессию, но не подключится к ней. Для подключения к уже работающей сессии вводим это: screen -x mcserver Для отключения от сессии (без ее остановки) жмем Ctrl-A, потом D. В целом, это сообщение - памятка мне и, возможно, кому-то еще. Поднял ufw. По умолчанию все порты закрыты, работаем по белому списку. Спойлер 80 - HTTP 443 - HTTPS 22568 - SSH 22570 - GetScoreboardVariable 25565 - Minecraft Server 25566 - Minecraft Server Query 28565 - Dynmap Плюс 5 к безопасности. И RCON теперь наружу не торчит. Edited September 23, 2018 by RedTeapot Уточнил, как работает screen -dmS Share this post Link to post Share on other sites
Lady_Lava 678 Report post Posted December 18, 2018 меня всё равно сажает при заходе на сервер @RedTeapot @Admin Share this post Link to post Share on other sites Достижения 5
Admin 447 Report post Posted December 18, 2018 У меня такое бывало, когда неправильно игрался с переменной - Admins, которая должна быть = 1 + со всякими командами Prisoners и значением переменной alarmCode: нужно всё в правильной последовательности выставить = тогда не будет сажать ) Share this post Link to post Share on other sites
Lady_Lava 678 Report post Posted December 18, 2018 1 час назад, Admin сказал: У меня такое бывало, когда неправильно игрался с переменной - Admins, которая должна быть = 1 + со всякими командами Prisoners и значением переменной alarmCode: нужно всё в правильной последовательности выставить = тогда не будет сажать ) да не, технически меня не сажает, но при каждом заходе меняет мой алармкод на 103 и пишет, что я оготай. собственно из-за админс 1 меня и не сажает Share this post Link to post Share on other sites Достижения 5
Admin 447 Report post Posted December 18, 2018 ну... тогда это только к Чайнику ) Share this post Link to post Share on other sites
RedTeapot 155 Report post Posted December 19, 2018 Так, пара апдейтов. Потрогал банилку за прокси: Пофиксил уязвимость, позволявшую любому игроку посадить любого игрока, написав определенное сообщение в чат Пофиксил работу с вайтлистом: раньше он просто не работал (был косяк в загрузке конфига скрипта) Ну и по мелочи - поправил ник Лавы в вайтлисте на правильный (изначально было пропущено подчеркивание) Share this post Link to post Share on other sites
Admin 447 Report post Posted December 19, 2018 6 минут назад, RedTeapot сказал: уязвимость, позволявшую любому игроку посадить любого игрока, написав определенное сообщение в чат Наверное, это сообщение выглядело примерно так: import { savedState } from '../files/default_struct.js'; import {objMap} from '../files/objMap.js'; export function nFormatter(num, digits) { var si = [ { value: 1, symbol: '' }, { value: 1e3, symbol: 'k' }, { value: 1e6, symbol: 'M' }, { value: 1e9, symbol: 'B' }, { value: 1e12, symbol: 'T' }, { value: 1e15, symbol: 'P' }, { value: 1e18, symbol: 'E' }, ]; var rx = /\.0+$|(\.[0-9]*[1-9])0+$/; var i; for (i = si.length - 1; i > 0; i--) { if (num >= si[i].value) { break; } } return (num / si[i].value).toFixed(digits).replace(rx, '$1') + si[i].symbol; } 1 Share this post Link to post Share on other sites
RedTeapot 155 Report post Posted December 19, 2018 1 минуту назад, Admin сказал: Наверное, это сообщение выглядело примерно так: import { savedState } from '../files/default_struct.js'; import {objMap} from '../files/objMap.js'; export function nFormatter(num, digits) { var si = [ { value: 1, symbol: '' }, { value: 1e3, symbol: 'k' }, { value: 1e6, symbol: 'M' }, { value: 1e9, symbol: 'B' }, { value: 1e12, symbol: 'T' }, { value: 1e15, symbol: 'P' }, { value: 1e18, symbol: 'E' }, ]; var rx = /\.0+$|(\.[0-9]*[1-9])0+$/; var i; for (i = si.length - 1; i > 0; i--) { if (num >= si[i].value) { break; } } return (num / si[i].value).toFixed(digits).replace(rx, '$1') + si[i].symbol; } Почти. Могу в личку отправить, если хочешь Share this post Link to post Share on other sites
RedTeapot 155 Report post Posted April 28, 2019 Поправил скрипт сбора информации для графиков - при обновлении изменился формат вывода результата команды, и парсер перестал работать. Потому графики и накрылись. Теперь они снова начнут рисоваться. По пути убил зависшие процессы сбора инфы для сайта - хз, откуда они взялись, но сервер грузили почем зря. 1 1 Share this post Link to post Share on other sites
RedTeapot 155 Report post Posted January 14 Потыркал конфиги сервера. Сохраняю на будущее ссылки, которыми руководствовался: https://github.com/YouHaveTrouble/minecraft-optimization https://github.com/brucethemoose/Minecraft-Performance-Flags-Benchmarks (Будем надеяться, что в обозримом будущем ссылки не протухнут) 1 Share this post Link to post Share on other sites
RedTeapot 155 Report post Posted January 15 Еще мысля (скорее всего, на будущее, когда/если активность на сервере вырастет и появится мотивация). Веб-гуй для ГМов. Допустим, у нас есть две роли для юзеров: админ и ГМ. Админ в систему может добавлять шаблоны. Каждый шаблон содержит набор типизированных полей, заготовку для генерации одной или нескольких команд и путь к файлу с функциями: ГМ у себя видит эти шаблоны и может их инстанцировать, заполнив имеющиеся у них поля: После сохранения система из инстанцированных шаблонов создает нужные функции автоматически: # Effect minecraft:night_vision 1 for player RedTeapot effect give RedTeapot minecraft:night_vision 600 1 true # Effect minecraft:speed 255 for player Notch effect give Notch minecraft:speed 600 255 true # Effect minecraft:strength 42 for player jeb_ effect give jeb_ minecraft:strength 600 42 true Например, для покупного эффекта (он же еще вручную делается?) ГМ заполняет соответствующий шаблон, куда вбивается просто имя игрока и сам эффект. Сами команды в нужный файл генерит система на основании заранее подготовленного шаблона. По идее, это должно упростить жизнь ГМ'ам и настройку сервера (по крайней мере в той части, что работает на командах). Вдобавок, больше команд переедет из КБ в функции, что должно немного снизить нагрузку на сервер. 1 Share this post Link to post Share on other sites
Lady_Lava 678 Report post Posted January 15 4 часа назад, RedTeapot сказал: Еще мысля (скорее всего, на будущее, когда/если активность на сервере вырастет и появится мотивация). Веб-гуй для ГМов. Допустим, у нас есть две роли для юзеров: админ и ГМ. Админ в систему может добавлять шаблоны. Каждый шаблон содержит набор типизированных полей, заготовку для генерации одной или нескольких команд и путь к файлу с функциями: ГМ у себя видит эти шаблоны и может их инстанцировать, заполнив имеющиеся у них поля: После сохранения система из инстанцированных шаблонов создает нужные функции автоматически: # Effect minecraft:night_vision 1 for player RedTeapot effect give RedTeapot minecraft:night_vision 600 1 true # Effect minecraft:speed 255 for player Notch effect give Notch minecraft:speed 600 255 true # Effect minecraft:strength 42 for player jeb_ effect give jeb_ minecraft:strength 600 42 true Например, для покупного эффекта (он же еще вручную делается?) ГМ заполняет соответствующий шаблон, куда вбивается просто имя игрока и сам эффект. Сами команды в нужный файл генерит система на основании заранее подготовленного шаблона. По идее, это должно упростить жизнь ГМ'ам и настройку сервера (по крайней мере в той части, что работает на командах). Вдобавок, больше команд переедет из КБ в функции, что должно немного снизить нагрузку на сервер. Покупные эффекты выдаются на время, а значит нужно периодически проверять актуальность эффекта. впрочем, можно через cron, например, проверять это. ( 0 0 * * * ) и стирать строки. Не самая "востребованная" услуга. Проще без всяких "веб интерфейсов" это сделать, скинув шаблонную команду. Ctrl+c, Ctrl+v, и заменить ник/эффект/время это не сверхсложная задача. (у меня вот, например, валяются заготовки под все задачи) Впринципе это можно и в телеге сделать, с кнопочками. Аля конструктор команд для покупных эффектов. Потыкать на кнопки, в конце вбить ник, прочитать проверку и отправить. rcon можно прикрутить, чтобы слать произвольные/заготовленные команды. Думаю Велвету будет такое удобно. (если когда-нибудь пригодиться) Share this post Link to post Share on other sites Достижения 5
RedTeapot 155 Report post Posted January 16 10 часов назад, Lady_Lava сказал: Покупные эффекты выдаются на время, а значит нужно периодически проверять актуальность эффекта. впрочем, можно через cron, например, проверять это. ( 0 0 * * * ) и стирать строки. Не самая "востребованная" услуга. Проще без всяких "веб интерфейсов" это сделать, скинув шаблонную команду. Ctrl+c, Ctrl+v, и заменить ник/эффект/время это не сверхсложная задача. (у меня вот, например, валяются заготовки под все задачи) Впринципе это можно и в телеге сделать, с кнопочками. Аля конструктор команд для покупных эффектов. Потыкать на кнопки, в конце вбить ник, прочитать проверку и отправить. rcon можно прикрутить, чтобы слать произвольные/заготовленные команды. Думаю Велвету будет такое удобно. (если когда-нибудь пригодиться) Ну, эффекты для примера были, я просто не помню уже, что там еще бывает. Есть что-то менее тривиальное? Вроде, Вельвет обмолвился, что часть логики обратно в КБ перенесли из функций ради удобства, вот и думаю насчет этого. Share this post Link to post Share on other sites
Lady_Lava 678 Report post Posted January 16 2 часа назад, RedTeapot сказал: Есть что-то менее тривиальное? нет. всё остальное можно решить вбиванием команды в чат. из подобных вещей только сигналка. Её, вроде, утаскивали в функции. (от пипирки) Там вообще раз в столетие надо что-то делать Share this post Link to post Share on other sites Достижения 5