====== Terraria Server ====== ===== Запуск на Windows7 ===== ==== Дано ==== * Ноутбук з Windows7 Starter на борту та авто-логіном - це міняти не можна * 2 ГБ оперативної пам'яті ==== Завдання ==== * З мінімальним змінами системи (Ноутбук може ще знадобитись для робочих цілей), зробити ігровий сервер для Terraria. * Періодична, автоматична зміна мап * Можливість запуску серверу вручну та при увімкненні ноутбуку * Купленої в стімі гри немає, гра повинна бути доступна в домашній мережі і все. ==== Залежності ==== Для коректної роботи потрібно * NET Framework 4 і вище * Microsoft XNA ==== Реалізація ==== Terraria має окремий сервер для майже всіх платформ - знайти його можна на офіційному сайті. Сервер має доволі простий конфігураційний файл, тому розглядати його тут немає особливого сенсу. З архіву з сервером, у моєму випадку, була потрібна лише папка Windows. Її потрібно спопіювати у теку звідки буде запускатись сервер. Бажано щоб вона була доступна тільки на запис. По замовчуванню Terraria зберігає данні у профілі користувача, при потребі можна вказати й іншу теку, одначе задля універсальності я лишив цей шлях. На скрипт запуску серверу було зроблено посилання й покладено в теку "автозавантаження", що знаходиться за адресою %userprofile%\adm\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup Також для можливості ручного запуску, було створено ярлик на робочому столі. Сервер показує консоль, де можна вводити команди вручну, якщо ж її закрити сервер зупиняє свою роботу й ноутбук можна буде використовувати для інших потреб В папці з сервером є конфігураційни файл, його потрібно трошки відредагувати. Також в ньому можна вказати шлях до мапи, але він не підтримує змінні середовища - тому я задав шляд до мапи в скрипті запуску. Скрипт запуску має такий вигляд @echo off cls :start TerrariaServer.exe -config serverconfig.txt -world "%userprofile%\Documents\My Games\Terraria\Worlds\Maps.wld" -autocreate 3 @echo. @echo Restarting server... @echo. goto start Мапа з назвою Maps.wld розтащована у теці де зберігає свої ресурси гра. Це зроблено для можливості переносу конфігурації на інші ПК з мінімальним змінами. Також це дозволяє запускати цю мапу прямо із встановленої гри - при локальній грі. Файл конфігурації було змінено мінімально, одначе його можна не змінювати зовсім і лишити як є, оскільки доступ буде лише у локальній мережі можна просто лишити його за замовчуванням. === Автоматична заміна мапи === Було додано завдання у планувальник з виконанням наступного скрипта taskkill /im terrariaserver.exe /f del "%USERPROFILE%\Documents\My Games\Terraria\Worlds\Maps.wld" /S /F /Q Перший рядок завершує процес серверу, в той час як другий видаляє мапу по замовчуванню. При цьому сервер перезапускається й створює ному мапу. Увага, при випадковому пошкодженню чи знищенню мапи є можливість відновити її з резервної копії, що періодично створюються сервером і розміщуються у теці з мапою. Для відновлення потрібно перейменувати резервну копію у назву, що відповідає назві мапи. ==== Посилання ==== * [[https://terraria.org/| Офіційний сайт, містить посилання на сервери та власне на саму гру]] * [[https://terraria.wiki.gg/wiki/Server|Server Сторінка на офіційній Wiki]] * [[https://terraria.fandom.com/wiki/Server|Server-Terraria Wiki Fandom]] *[[ https://terraria.org/api/download/pc-dedicated-server/terraria-server-1436.zip|Terraria Server 1.4.3.6]]