MARSIAGO
Пользователь
- Сообщения
- 1
Восемь собственных плагинов работают на живом сервере, который я сам администрирую: около 12 000 строк Java в 116 файлах. Не учебные проекты — всё это крутится в проде и чинится, когда ломается.
Интеграция с закрытыми плагинами. Когда у соседнего плагина нет ни API, ни событий, нужный метод ищется по jar-у через javap и вызывается рефлексией, а события ловятся перехватом пакетов через ProtocolLib. Так сделаны четыре из восьми моих плагинов.
Мягкие зависимости. Классы, ссылающиеся на чужой плагин, вынесены отдельно и грузятся только после проверки, что он есть, — иначе NoClassDefFoundError роняет всё. Изоляция проверяется отдельным ClassLoader'ом, а не на глаз.
Графика и тексты. Отрисовка динамических карт через java.awt — картинка рисуется кодом и обновляется, чего моделью из ресурспака не сделать. Ресурспаки, кастомные шрифты и глифы рангов, озвучка с расчётом пауз по длине .ogg.
Наружу. Вебхуки Discord (включая отправку картинок через multipart) и Telegram, PlaceholderAPI, Vault, LuckPerms, WorldGuard, TAB.
Администрирование. Настройка и оптимизация Paper, античит GrimAC, права LuckPerms, регионы WorldGuard, авторизация AuthMe, SkinsRestorer при online-mode=false, разбор логов и статистики сервера скриптами.
Отдаю jar, исходники, README с устройством плагина и config.yml, в котором прокомментирован каждый ключ — включая то, почему число именно такое.
Сложные механики считаются отдельно.
Технически умею
Плагины. Paper/Spigot 1.21.x, Bukkit API, Java 21>. Сборка без Gradle и Maven — напрямую через javac, когда так быстрее.Интеграция с закрытыми плагинами. Когда у соседнего плагина нет ни API, ни событий, нужный метод ищется по jar-у через javap и вызывается рефлексией, а события ловятся перехватом пакетов через ProtocolLib. Так сделаны четыре из восьми моих плагинов.
Мягкие зависимости. Классы, ссылающиеся на чужой плагин, вынесены отдельно и грузятся только после проверки, что он есть, — иначе NoClassDefFoundError роняет всё. Изоляция проверяется отдельным ClassLoader'ом, а не на глаз.
Графика и тексты. Отрисовка динамических карт через java.awt — картинка рисуется кодом и обновляется, чего моделью из ресурспака не сделать. Ресурспаки, кастомные шрифты и глифы рангов, озвучка с расчётом пауз по длине .ogg.
Наружу. Вебхуки Discord (включая отправку картинок через multipart) и Telegram, PlaceholderAPI, Vault, LuckPerms, WorldGuard, TAB.
Администрирование. Настройка и оптимизация Paper, античит GrimAC, права LuckPerms, регионы WorldGuard, авторизация AuthMe, SkinsRestorer при online-mode=false, разбор логов и статистики сервера скриптами.
Что написано
| Плагин | Что делает |
|---|---|
| WantedOnboarding | Обучение новичка: проводник, озвучка, шаги, компас до границы привата |
|
Авторизуйтесь для просмотра ссылок.
| Плакаты розыска: отрисовка карт, стена топа на спавне, картинка в Discord, объявления в чате |
| WantedNether | Ивент вокруг Ада: поиск чужих порталов, заказы на разведку, приманки |
| WantedBridge | Мост сервер → Discord и Telegram: смерти, рубежи цен, еженедельный сброс, репорты |
| WantedShop | Лавка за игровые деньги с проверкой цен по чужому конфигу |
|
Авторизуйтесь для просмотра ссылок.
| Объявление выпадений из кейсов — через перехват пакетов, потому что события у источника нет |
|
Авторизуйтесь для просмотра ссылок.
| Награды растут от числа активных игроков онлайн, с отсечкой AFK |
| WantedLives | Закрывает баг чужого плагина: возвращает жизни после истёкшего бана |
Как работаю
ТЗ → фиксированная цена и срок → 50% предоплата → сборка → правки.Отдаю jar, исходники, README с устройством плагина и config.yml, в котором прокомментирован каждый ключ — включая то, почему число именно такое.
Цены
| Услуга | От |
|---|---|
| Плагин с нуля по ТЗ | 3 000 ₽ |
| Доработка или починка существующего | 1 500 ₽ |
| Настройка сервера под ключ | 4 000 ₽ |
| Разбор лагов, падений, низкого TPS | 2 000 ₽ |
Связь
- GitHub:
Авторизуйтесь для просмотра ссылок.
- Telegram:
Авторизуйтесь для просмотра ссылок.