Усунення проблем
Почніть з коду виходу. Він каже, яка частина не вдалася, перш ніж ви прочитаєте будь-що інше.
| Код | Що не вдалося | Перейти до |
|---|---|---|
| 1 | Команда, конфігурація або збирання | Проблеми зі збиранням |
| 2 | Завантаження | Завантаження не вдається |
| 3 | Перевірка хешу | Хеш не збігається |
| 4 | Розпакування архіву | Розпакування не вдається |
| 5 | Сама гра | Гра завершується |
Проблеми зі збиранням
«Немає плагіна з ім'ям…» або невідома група
'@name.group' у вашому рядку запуску не вказує ні на що. Повідомлення перелічує те, що існує. Зазвичай це одрук або рядок запуску досі називає minecraft після переходу на forge.
«Плагін приймає один об'єкт з параметрами»
Ви написали forge('1.20.1'). Плагіни приймають об'єкт: forge({ version: '1.20.1' }). Так само `runClient` is now `run` означає те, що каже: перейменуйте ключ.
Попередження, що змінну «задають обидва»
Два плагіни задають ту саму змінну. Збирання триває, і виграє пізніший плагін. Звичайна причина це minecraft() поруч із завантажувачем. Завантажувач уже включає гру, тож приберіть minecraft().
Якщо ви справді хочете перевизначити змінну, задайте її в manifest.vars. Це призначене місце, і воно не попереджає.
Версію не знайдено
Повідомлення називає рядок, який ви дали. Звірте його з написанням версії. Звичайні причини:
-recommendedна версії Minecraft, яка не має рекомендованого збирання. Використовуйте чисту версію натомість.- Псевдонім на
fabricабоminecraft, які приймають звичайні версії Minecraft. - Версія Java, написана в стилі іншого постачальника.
У мене працює, а в гравців ні
Майже завжди це значення конкретного комп'ютера в manifest: шлях під вашою домашньою текою або userDataDir() у manifest.vars. Воно запечене в бандл і існує лише на вашому комп'ютері. Перенесіть його в run.
Швидка перевірка це запустити бандл так, як його запустив би гравець: opys launch game.opys --var root=/tmp/test ….
Шлях або ім'я гравця це буквальне ${something}
Змінна без значення лишається як написана, і ніщо про це не повідомляє. Перевірте написання і перевірте, що вона задана в run або передана через --var. Змінні перелічують імена, яких чекає збірка.
Завантаження не вдається
Network error: HTTP <status> downloading <url>.
opys уже повторив кілька разів, перш ніж ви це побачили. Запустіть команду знову: файли, що завершилися, не завантажуються двічі.
Якщо це далі не вдається з 404, файл перемістив або прибрав той, хто його тримає. Перебудуйте бандл, щоб він вказував на те, що опубліковано зараз.
Хеш не збігається
Integrity check failed: з наступними файлами.
Сервер надсилає інші байти, ніж ті, що зафіксував бандл. Так буває, коли файл замінили вище за течією після вашого збирання. Гравці не можуть це виправити. Перебудуйте та опублікуйте новий бандл.
Пошкоджений файл, що вже на диску, це не помилка. Він просто завантажується знову.
Розпакування не вдається
Extraction failed: з архівом і рядком caused by:. Прочитайте цей рядок. Це або пошкоджений архів (перебудуйте), або щось, чого комп'ютер не дозволив, наприклад повний диск або тека без дозволу на запис.
Гра завершується
The game exited with code <n>.
opys зробив своє: все встановилося і гра стартувала. Що б не пішло не так, воно у власному виводі гри, надрукованому вище цього рядка. Шукайте перший виняток.
Те, що часто це спричиняє:
- Не та Java. Див. таблицю.
- Forge 1.7.2 потребує Java 7:
java({ version: '7', vendor: 'zulu' }). - Forge 1.16.4 потребує Java 8 не новішої за 8u312:
java({ version: '8u312-b07' }). - Мод для іншого завантажувача або версії Minecraft. opys встановлює те, що ви назвали, і не перевіряє, що воно пасує.
- Десять ранніх бет Forge 1.5 (наприклад
1.5-7.7.0.559) не встановлюються взагалі, бо файла, потрібного їм, більше немає ніде. Використовуйтеforge({ version: '1.5' }), який вибирає пізніше збирання.
Незначний шум
FileNotFoundException: http://s3.amazonaws.com/MinecraftResources/ у журналі дуже старої версії (Forge 1.1, 1.2.5) це гра, що шукає звуковий сервер, який Mojang вимкнув. Звуки вже встановлені локально, і гра працює далі.