Майстри настільно-рольових ігор (типу D&D), які проводять сесії онлайн, стикаються з проблемою того, що найкращий із віртуальних столів (Foundry Virtual Tabletop) потрібно десь хостити. Це може бути або ваш домашній комп’ьютер, або хмарний сервер по типу Oracle Cloud. Я пройшла всі кроки від перечитування сотні постів підтримки на reddit до успішного встановлення серверу всім своїм друзям, тож можу поділитись інструкцією (гортайте вниз).
Де взяти Foundry vtt?
Взагалі це платна програма, на офіційному сайті бувають періодично знижки, так виходить 40$ разом з податком (а зазвичай ~50$). Реєструєтесь, тицяєте PURCHASE і тоді у вашому профілі в вкладці Purchased Licences з’явиться можливість завантажити файл.
Зараз не робіть це, я просто покажу, що воно тут є: можна завантажувати або прямо через DOWNLOAD, або через тимчасове посилання TIMED URL (що нам і знадобиться в майбутньому для оракла). Встановлення на комп’ютер відбувається як у будь-якої звичайної програми, ось офіційний ґайд Installation Guide. Встановлення на оракл ми зробимо з лайфхаком, тож читайте далі цю статтю.
Зверніть увагу на Download Version, рекомендую вибрати останню стабільну версію - найверхній із Stable Releases.
В Operating System оберіть ту операційну систему, на яку буде встановлюватись програма: Windows\MacOS для домашнього комп’ютера або Linux\NodeJS для сервера оракл.
Де можна хостити Foundry vtt?
Є декілька варіантів хостингу:
Власний комп’ютер (Self-Hosted). Встановлюєте Foundry vtt на будь-який диск, але не у директорію Program Files, бо це може заважати майбутнім оновленням. Відкриваєте програму, створюєте світ, встановлюєте систему та модулі, робите профілі для гравців, намагаєтесь поділитись і… у них нічого не відкривається. Бо для доступу до вашого домашнього “серверу” треба або налаштовувати port forwarding із статичним IP замовленим у провайдера, або запаритись з альтернативними способами організації мережі (наприклад, через Hamachi або ngrok). При цьому варіанті гравці зможуть зайти у гру тільки тоді, коли Foundry vtt запущений на вашому комп’ютері, що не дуже зручно.
Хмарний сервер (Cloud Hosted). Прекрасний варіант, але може бути дорогий. Для халявщиків є умовно-безкоштовний пожиттєво Oracle або безкоштовний рік на Amazon AWS. Єдиний мінус тут - може скінчитись пам’ять сховища, тож будьте обережні з великими файлами та резервними копіями. Також тут треба один раз запаритись і налаштувати все, щоб воно адекватно працювало, але у нас буде лайфхак.
Партнерські серверси (Partner Hosted). Тут є список сервісів, які заколабились з Foundry vtt і зробили досвід налаштувань максимально простим, але за їх користування доведеться платити щомісячно та також розраховувати сховище заздалегідь. Чула добрі відгуки про The Forge та Molten Hosting у чатику ІНРІУМ.
Важливо перед реєстрацією в Oracle Cloud
Тут буде невеликий вступ про те, що раніше всі реєструвались на “Free Tier”, але потім кляті капіталісти вирішили повидаляти сервери, які не використовували ці безкоштовні потужності на повну (а для рендеру гри багато потужності і не треба), що спричинило хвилю обурення спільноти. В цій ситуації вижили ті, хто був на “Pay as you go” (PAYG Tier, тобто плати тільки якщо використав ліміт), який є умовно-безкоштовним, але закріпляє за вами право на недоторканість серверу. Прикол в тому, що реєструватись одразу на PAYG Tier неможливо, тож ми спочатку зробимо Free акаунт, а потім апґрейднемось до PAYG. На це знадобиться 2-3 дні, бо очікуватимемо підтверджень акаунта.
Також попереджу, що Oracle буде знімати певну суму для підтвердження картки, але повертатиме її миттєво. На Free Tier треба мати 0.93€ (~42 грн), а на PAYG Tier вже 93€ (~4200 грн). Я платила з універсальної картки ПриватБанку, але у деяких друзів виникали з ним проблеми, пробуйте різні.
(!) Перед наступним кроком випишіть десь собі англійською свої призвище та ім’я, та підготуйте поштову адресу з індексом, імейл, номер телефону та банківської картки.
Реєструємось на Free Tier
Заходимо на https://www.oracle.com/cloud/free/ та тицяєм Start for free.
Вилізе вікно з вводом даних, заповнюємо, тицяємо капчу.
Country (Країна);
First name (Ім’я);
Last name (Прізвище);
Email (Краще gmail, а не корпоративний).
На імейлі підтвердіть реєстрацію, і ОБЕРЕЖНО, з цього моменту у вас буде лише 30 хвилин щоб все зробити, або доведеться починати заново!!!
Тицяєм Verify email.
Після верифікації відкриються нові поля для заповнення.
Password (Пароль);
Customer type (Тип клієнта) - вибираєм Individual (Індивідуальний);
The Cloud Account Name (Ваш логін для входу в консоль) - обережно, він не може бути змінений пізніше;
Home region (регіон, де будуть створені ваші потужності, перевірте чи доступні всі потрібні вам сервіси у вашому регіоні) - Germany Central (Frankfurt), бо в нього доступні всі сервіси в межах Європи. Також якщо раптом у вас виникнуть проблеми з Франкфуртом (можливо він буде перевантажений у майбутньому), в підтримці для України радили спробувати Sweden Central (Stockholm).
Після всього жмете continue (продовжити) і відкриються ще додаткові поля:
Address line 1 — номер дому и назва вулиці;
Address line 2 —номер квартири, корпусу, інші позначки адреси.
City - місто;
Province - село та подібне;
Zip/Postal Code - гугліть ваш поштовий індекс;
Country - країна;
Phone Number - не забувайте +380 до телефону.
Додаємо дані картки для тестової оплати (1$ або 0.93€ для Free Tier) тицьнувши Аdd payment verification method.
У мене була VISA в Приватбанку, прийшло підтвердження оплати в мобільний додаток.
Далі ви побачите підтверджену картку, і залишається лише погодитись з умовами Agreement галочкою.
Якщо побачили отаке, то ви були надто повільні і не встигли за 30 хвилин внести дані, тож треба почати реєстрацію заново :)
Якщо все було ок, то тицяєм Start my free trial і бачимо, що треба почекати підтвердження акаунту.
Коли створення сетапу завершиться, вам треба буде увійти в акаунт (Sign in to Oracle Cloud) на https://www.oracle.com/cloud/free/.
В Cloud account name вводите те, що реєстрували раніше (логін).
Далі вводите імейл, на який реєструвались, і раніше вигаданий пароль.
Воно запропонує встановити двофакторну аутентифікацію через додаток Oracle Mobile Authenticator чи аналоги. Я встановила оракловський аутентифікатор на мобільний телефон і тепер він надсилає пуш-повідомлення з підтвердженням, коли я логінюсь на сайті оракла.
Коли зробите це, на сайті з’явиться опитування “хто ви” щоб додати на ваш домашній екран всяких штук. Мені багато не треба, то я всього лише hobbyist :)
Далі буде швидкий тур по функціях:
Після якого відкриється оця бажана нами сторінка:
Але як ви не намагатиметесь створити собі сервер, на безкоштовному Free Tier плані це майже неможливо (люди пінгують ресурси місяцями, і їм не вдавалось), та й задля уникнення видалень, ми все одно вирішили апґрейдитись на умовно-платний тір.
Апґрейдимо план до PAY AS YOU GO
Зверху панелі у вас вилізе повідомлення про можливість змінити план, але це саме ви знайдете і на сторінці: https://cloud.oracle.com/invoices-and-orders/upgrade-and-payment. Тицяємо сіру кнопку Upgrade your account.
Якщо ця функція недоступна, можливо ваш акаунт ще на розгляді, це може зайняти декілька годин.
Після зняття і повернення 100$ (93€) з вашого рахунку, на тій самій сторінці ви побачите, що upgrade is in progress.
Це може зайняти від 1 години до доби, у мене пройшло 3 години. Якщо все успішно, ви побачите зелену галочку з Congratulations та Plan type: Pay as you go.
Все, тепер нам дадуть сервер! Але це теж складний процес…
Створюємо INSTANCE (потужності серверу)
Я робила все по відео-інструкції “Foundry VTT on Oracle servers Free tier Semi-automated” з каналу Aco Plays, він показує все покроково і пояснює, а також дає лайфхак-скрипт який автоматизує нам половину роботи по встановленню Foundry vtt.
На головній сторінці нам потрібно Create a VM instance.
Назвемо його Founryvtt а також змінимо Image з Linux на Ubuntu (бо автор відео зробив під нього скрипт).
Вибираєте найсвіжішу версію Ubuntu, я вибрала 22.04, вона мала оновлення в 2024 році, підтверджуєте Select image.
Тепер гортайте сторінку вниз, шукаємо shape і будемо його змінювати: по стандарту стоїть АMD, а нам треба Ampere. Тицяєм Change shape.
До слова: переваги Ampere це безкоштовні 4 процесора і 24 ГБ пам’яті.
Але повернемось до інструкції: ставимо Ampere і ставимо галочку щоб відкрилось меню, де можна підкрутити потужності з 1 процесора до 2, і пам’яті з 6 до 12 GB, бо це входить в безкоштовну ліцензію і можна спокійно користуватись.
Але автор відео у ґайді рекомендує для Foundry vtt 1 CPU і 4 GB саме через те, що колись оракл почав забирати неактивні сервери (тобто ті, які не юзають всі потужності), це потім можно підкручувати.
Тепер у вас повинно бути отак:
Щодо наступного кроку - Primary VNIC information, поки нічого там не трогаєм, автор відео сказав що це можна налаштувати потім.
Зберігаємо ключі доступу. Автор відеоґайду рекомендує завантажити собі обидва ключі - Save private key та Save public key.
Далі налаштуємо сховище, по плану нам дають аж 200 GB:
Відеоґайд рекомендує обрати 100 GB (тобто половину ресурсів), на випадок якщо ви схочете ще одну віртуальну машину зробити потім, щоб два різні сервери Founfry vtt запускати. Галочки навпроти encryption не обов’язкові, це повністю ваш вибір, я залишила як є по стандарту, а автор відео вимкнув їх.
І коли все зроблено, нарешті тицяєм Create, щоб створити наші виділені потужності сервера.
Створення віртуальної машини займе деякий час. З головної сторінки оракла дивіться вкладку compute - instances - instance details. Спочатку буде статус PROVISIONING.
А потім зелене і готові потужності сервера. Головне, що нам потрібно - це Public IP adress із чисел у форматі 12.345.678.910
Відкриваємо порти для доступу до серверу
Переходимо із головної на вкладку networking і знаходимо Virtual cloud Networks. Тицяєм на назву (там де vcn-202…).
А потім тицяєм назву там, де subnet.
Потім в Default Security lists і зробити отак (на відео це теж є у Step 2a).
Add ingress rules - Source CIDR ставимо
0.0.0.0/0
В Destination Port Range робимо http та https порт вписавши через кому цифри 80,443
, а далі підтверджуєм тицьнувши Аdd ingress rules.
І стане типу так:
Підключаємось з SSH через ключ щоб керувати сервером зі свого ком’ютера
Це щоб ми могли пінгувати сервер Oracle зі свого домашнього комп’ютера, я буду робити це з Windows.
Взагалі є отака текстова інструкція від активістів вікі (пункт D. Server Setup and Installation): https://foundryvtt.wiki/en/setup/hosting/always-free-oracle
Але автор відео зробив скрипт, який робить половину роботи сам. Тож ми будемо слідувати йому.
З інстансу на сайті Oracle копіюєм Public IP і вписуєм у формулу, яка нам скоро знадобиться для логіну до серверу:
Формула: ssh -i foundry.key ubuntu@<public ip address>
Наприклад, моя буде така: ssh -i foundry.key ubuntu@89.ХХХ.ХХХ.120
Знаходимо на нашому комп’ютері папку, у яку завантажили ключі. Тицяємо Shift + права клавіша миші, вибираємо відкрити вікно Powershell тут.
У вікні Windows PowerShell вписуємо формулу вище, або просто вставляєте після копіювання тицьнувши правою клавішею. Тицяєм Enter, щоб запустити процес.
пишем yes
(!) Якщо у вас вискочить отаке як на скріні нижче, то треба щоб приватний ключ був у юзер-папці.
Я перемістила їх у Documents і заново відкрила Powershell, заново ввела формулу.
Копіюєм з відеоґайду покроково скрипт з гітхабу, вставляєм (правою клавішею) і Enter: https://github.com/aco-rt/Foundry-VTT-Oracle
curl -o foundryOracle.sh https://raw.githubusercontent.com/aco-rt/Foundry-VTT-Oracle/main/foundryOracle.sh
Коли все завантажилось, запускаєм: chmod a+x foundryOracle.sh
І потім ls
Тицяєм Enter.
Потім вводимо останню команду: ./foundryOracle.sh
Буде бігти строка, а в кінці оце:
Тицяєм Tab - це для програми означає “Ok”.
Воно ще раз подумає і знов видасть:
Знов тицяєм Tab.
Ще раз тицяєм Tab.
Знов Tab “ок”, і ще раз, і ще раз, і ще раз…
В кінці буде так:
please enter the foundry vtt timed download url for the NodeJS version.
На сайті https://foundryvtt.com/ зайдіть в свій аккаунт та виберіть nodejs, stable version, нам потрібен timed url (він діє 300 секунд).
Просто вставте той URL в командну строку далі і Enter. Програма завантажить фаундрі на сервер і буде отак:
Тепер нам залишилось ввести домен, на який буде заходити майстер та гравці кожного разу, звісно це може бути просто айпішнік з портом, але ми зробим красиво. Не закривайте PowerShell.
Як зробити красивий домен в NoIP
Знову ж таки, це є у відеоінструкції (Step 3 Getting a domain using noip).
Реєструємось у https://www.noip.com/ (можна через гугл акаунт), тут можна безкоштовно мати 1 домен (FREE), але його треба кожен місяць підтверджувати. Тож не ігноруйте імейли з нагадуванням про підтвердження в майбутньому :)
Створюємо назву Create Hostname, вписуєм свою креативну назву сайту, обираєм зону домена (я взяла домен ddns.net але ви можете і інший вибрати, це косметично).
IPV4 берем зі свого серверу оцей:
Тицяєм Сreate Hostname.
Тепер всі запити до нашого айпі будуть переправлятись на красивий домен сайту.
Завантажуємо і налаштовуємо Foundry vtt на сервері
Маємо красивий домен, тому підключемо його продовжуючи наші справи у Windows Powershell.
Воно рестартнеться.
Треба почекати трошки, щоб воно роздуплилось і далі знов заходимо як в першому кроці з формулою з айпі.
Формула: ssh -i foundry.key ubuntu@<public ip address>
Інструкція каже, що треба перевірити, чи треба щось апдейтити там:
sudo apt update && sudo apt upgrade -y
Повинно бути по 0, але у мене 2 неоновлених. Я плюнула, і так норм працює 🙂 Програмісти, help.
А на відео отак було:
Тут треба було б ввести: apt list –upgradable
І після всього в кінці повинно висвітитись ubuntu@foundryvtt: ~$ це означатиме, що все запущено і працює.
Тепер все повинно працювати на домені який ви створювали, вводите ліцензійний ключ фаундрі і готово, можете створювати світи та грати!
Хоча якщо ви майстер з досвідом і треба перенести махом усі файли з папок прямо на наш хмарний Oracle сервер усередину Foundry vtt, то непогано було б налаштувати якийсь File Transferer.
Налаштовуємо передачу файлів з нашого комп’ютера на хмару Oracle
Знову ж таки, ця інструкція є у відео, тож не буду вже зупинятись на цьому додатковому кроці.
Я як і автор відеоґайду використаю Cyberduck і виглядає це отак:
Я грала спочатку локально, тому використала Cyberduck, щоб перенести готовий D&D світ на хмару. 500 Мб скидались 20 хвилин.
Як перезавантажити хмарний сервер Foundry vtt після оновлень або передачі крупних файлів
Рестарт сервера відбувається знову за схемою:
Відкриваєм папку з ключами, Shift+ПКМ відкрити вікно PowerShell тут.
Конектимось до оракла формулою:
ssh -i foundry.key ubuntu@<public ip address>
Наказуємо вимкнутись:
sudo shutdown -r now
Перезапускаємо сервер знов тою самою формулою:
ssh -i foundry.key ubuntu@<public ip address>
Все, сервер знов повинен запрацювати.
Якщо нема зв’язку з сайтом, то спробуйте почекати декілька хвилин поки сервер перезапуститься, або перевірте імейл (може там треба домен оновити).
УСПІХ!
Вітаю вас! Сподіваюсь, що все вдалося.
Запускайте світ, і гравці зможуть в нього зайти в будь-який момент (майстру логінитись не треба, достатньо такого екрану як нижче).
Якщо у вас вининуть запитання, можете задавати їх у телеграм-чатику ІНРІУМ або Discord ІНРІУМ, там є багато добрих людей, які допоможуть.
А якщо ви спалили всі свої нерви, можете відновити їх дивлячись мої мемчики телеграм-каналі МЕМРІУМ :)