Сделать проект под ключ, переработать готовую игру, Переделать моды. Игра: для установки на ПК. Игра: массовая онлайн. Жанр: RPG. Платформа: Java, Forg. Графика: 3D. ### ТЗ для программиста — JJK: Jujutsu Kaisen Craft #### Цель Внести изменения в существующий модпак: добавить инструменты для администрации; убрать/переработать небалансные механики; реализовать реиграбельность; удлинить прокачку; снизить влияние «требовательных» персонажей; обеспечить контролируемую смертность игроков. --- ### 1. Краткое описание задач Реализовать серверные изменения и конфигурации, которые делают модпак сбалансированным, реиграбельным и управляемым администрацией, без изменения сюжета и основных модов. --- ### 2. Функциональные требования - **Админ?команды**: kick, kill, revive, setlevel, givexp, giveresource, setrole, freeze, tp, togglesystem, logs. - **Логирование**: все админ?действия и смерти в JSON?логах с метаданными. - **Баланс**: отключить/ограничить механики one?shot, бесконечных ресурсов, игнор брони, перманентного контроля. - **Контр?механики**: Emergency Shield (аварийный щит), уклонение, анти?контроль с diminishing returns. - **Реиграбельность**: система случайных мировых событий, переменных стартовых условий, генерация уникальных предметов, метапрогрессия между сессиями. - **Прокачка**: увеличить max level (конфигурируемо), новая кривая XP, разблокировка механик каждые N уровней, редкие ресурсы для апгрейдов. - **Социальное влияние**: квоты на действия, система репутации, голосование для важных решений, лимит негативных эффектов на цель. - **Смерть игрока**: зоны с разрешённой смертностью, респаун, потеря ресурсов, окно для воскрешения союзником, anti?grief лимиты. --- ### 3. Команды (реализация) - `/jjk admin kick
[reason]` - `/jjk admin kill [reason]` - `/jjk admin revive ` (mode: full|partial) - `/jjk admin setlevel ` - `/jjk admin givexp ` - `/jjk admin giveresource ` - `/jjk admin setrole ` - `/jjk admin freeze ` - `/jjk admin tp ` - `/jjk admin togglesystem ` - `/jjk admin logs [filter]` --- ### 4. Конфигурация (файлы в `config/jjk/`) - **admin.yml** — права ролей: SuperAdmin, Admin, Moderator, Auditor. - **balance.yml** — параметры брони, Emergency Shield, контроль эффектов (maxDurationSeconds, drWindowSeconds, drMultiplier). - **progression.yml** — maxLevel, baseXP, expFactor, levelsPerTier, xp.dailyCap, xp.sessionCap. - **events.yml** — список событий: id, weight, duration, effects. - **social.yml** — actionQuota, quotaWindowSeconds, reputationDecayPerDay, maxNegativeEffectsPerTarget. - **death.yml** — zones.deathAllowed[], respawn.baseSeconds, death.lossPercent, reviveWindowSeconds, antiGrief.killLimit, killLimitWindow. --- ### 5. Формулы (для реализации) - **XP:** \(\displaystyle xpForLevel(n)=\lfloor baseXP\cdot n^{expFactor}\rfloor\). - **Урон после брони:** `effectiveDamage = baseDamage * (1 - armor / (armor + 100))`. - **DR для контроля:** повторный CC в `drWindowSeconds` ? длительность *= `drMultiplier`. - **Emergency Shield:** если `incomingDamage >= thresholdPercent * maxHP` ? `absorb = min(maxAbsorb, incomingDamage * absorbPercent)`. --- ### 6. События и API (кратко) - `AdminService.kick(player, reason)` - `AdminService.kill(player, reason)` - `AdminService.revive(player, mode)` - `LevelService.addXP(player, amount)` - `EventManager.spawnRandomEvent()` - `DeathService.onPlayerDeath(victim, killer, cause)` - События: `onPlayerDamage(attacker, victim, damage, damageType)`, `onApplyControlEffect(actor, target, effect)`, `onLevelUp(player, newLevel)`. --- ### 7. Хранение данных - **Игроки:** `players/.json` с полями `uuid, level, xp, stats, reputation, metaProgression, lastDeath`. - **Логи:** `logs/jjk_admin.log`, `logs/jjk_deaths.log` в JSON, ротация 90 дней. - **Конфиги:** `config/jjk/*.yml`. --- ### 8. Acceptance criteria 1. Все админ?команды выполняют действие и пишут лог. 2. One?shot сценарии недоступны в тестовой среде. 3. CC длится не дольше `control.maxDurationSeconds` и подчиняется DR. 4. XP кривая и разблокировки по уровням работают корректно. 5. События запускаются по весам; loot генерируется с заданными шансами. 6. Репутация влияет на силу социальных действий; квоты работают. 7. Смерть логируется; респаун и потери применяются; админ?revive работает. 8. Сервер выдерживает целевой порог игроков без деградации TPS более 10% (порог согласовать). --- ### 9. План работ (микро?итерации) 1. Сбор списка небалансных механик и экспорт данных игроков — 1–2 дня. 2. Инфраструктура: конфиги, логирование, базовые сервисы — 2–3 дня. 3. AdminModule: команды и логи — 3–5 дней. 4. CombatModule: броня, CC, Emergency Shield — 5–8 дней. 5. ProgressionModule: уровни, XP, таланты — 4–6 дней. 6. EventModule + Loot — 3–5 дней. 7. SocialModule: репутация, квоты — 3–4 дня. 8. DeathModule и интеграция — 2–3 дня. 9. Тестирование и правки — 5–10 дней. --- ### 10. Что предоставить программисту - Доступ к репозиторию модов. - Экспорт текущих данных игроков. - Список известных небалансных механик (файлы/спецификации). - Сервер?стенд для тестов. - Контакт лица для уточнений по механикам. --- ### Примечание Все параметры должны быть полностью конфигурируемы через файлы в `config/jjk/`. Логи — в JSON?формате. Все админ?действия требуют проверки прав и обязательной записи в лог.