Руководство по созданию своего сервера

Привет, Хабр! Относительно недавно после пары лет перерыва в айти, потраченных на изучение японского языка, мне пришлось срочно обновлять свои знания на работе. Ну знаете, искать возможности исполнить все хотелки начальника, как и положено эникею. Меня ждало много увлекательных открытий, но при этом, как водится, и немало боли и борьбы с непонятками. Docker, контейнеры, реверс DNS и реверс прокси, получение TLS сертификатов. В какой-то момент я наконец дошёл до удобного решения, которым я теперь хочу поделиться.

В своё время домашний сервер очень облегчил бы мне понимание Docker’а, да и удобство работы с ним неслабо бы повысил. Поэтому возникла идея написать эту статью, после прочтения которой любой человек даже с поверхностными знаниями в информационных технологиях сможет поставить себе постоянно доступный домашний сервер на базе Docker Swarm с удобной веб-мордой, простым получением TLS-сертификатов и Heroku-подобным функционалом (для чего будем использовать PaaS CapRover). 

Статья, в общем-то, рассчитана на новичков, обладающих какими-то техническими знаниями — школьников старших классов, студентов и просто любителей — а потому вряд ли будет интересна серьёзным профессионалам.

Зачем оно нужно?

Ну как минимум потому что это круто, иметь домашний сервер! Да и настраивать всё это дело интересно. При этом он уже за месяца три отобьёт свою стоимость в сравнении с VPS’ом схожей конфигурации. Ну и наконец он просто радует глаз и миленький.

Что же до использования — иметь возможность развернуть в пару кликов дома Docker-контейнеры сразу в формате http://контейнер.мой.домен/ и в ещё один клик подключить к нему SSL неплохо упрощает жизнь. Сейчас всё больше и больше разнообразных приложений и сервисов переезжают в контейнеры и, если вы не любите лишний раз платить большим компаниям, иметь свои аналоги платных сервисов на домашнем сервере это очень удобно.

Ну а удобство для разработчиков и так понятно.

Подготовка

Поскольку мы хотим, чтобы наш домашний сервер был доступен из внешней сети, нужно сделать несколько приготовлений.

Port Forwarding

Схема работы перенаправления портов

Схема работы перенаправления портов

Проверьте наличие у вашего маршрутизатора (роутера) опции Fort forwarding/Port mapping/Перенаправление портов. Это не самый безопасный, но самый простой способ дать нашему серверу путь во внешний мир. Убедитесь что 80, 443 и 3000 порты у вас ничем не заняты — именно их вы будете прописывать IP адресу вашего сервера. Возможно в будущем, например, если вы захотите поднять почтовый сервер, вам придётся прописать дополнительные порты, но пока нужно только это.

Если проводить аналогию для понимания перенаправления портов, то представьте работу мамы в детстве. По умолчанию охранник туда не пустит, но стоит только сказать волшебную фразу «Я к маме», как строгий охранник уже пускает и говорит куда пройти. Вот и тут так же, с нашим NAT’ом роутера, только вместо «Я к маме» вы говорите порт, на что вас направляют куда надо.

Так же стоит убедиться, что у DHCP вашего роутера есть возможность зарезервировать выданный IP адрес за MAC. Скорее всего ваш сервер будет стоять включённым всё время и не просрочит свой выданный IP адрес, но подстраховаться никогда не бывает лишним. Если нельзя — выпишите машине статичный IP вне зоны выдачи адресов DHCP. Это сложнее и неудобнее, но тоже вариант (Кто-то даже скажет что так даже лучше сделать. Но я сейчас за простоту).

Нету этих опций? Возможно ещё не всё потеряно. Проверьте базу https://dd-wrt.com/support/router-database/ на наличие вашего роутера и есть ли тема по нему на 4pda. Если и там пусто… Ну, либо сворачивайте это руководство, либо пора купить новый роутер.

Домен

Конечно, ничто не мешает нам обращаться к нашему домашнему серверу и напрямую по IP адресу, но делать так не рекомендуется: и не особо безопасно, и запоминать IP адрес не просто, да и если у вас динамический, меняющийся каждый раз как вы заново подключаетесь к интернету, IP адрес, то запоминать его вообще бессмысленно. Ну и наконец, у нас много сервисов планируется, а чтобы к ним доступ был тупо по IP адресу, придётся их на разные порты навешивать. Оно вам надо?

Именно поэтому мы будем использовать домен.

Ну, знаете, ту самую штуку, которую вы вводите в адресной строке. В результате сможем давать сервисам поддомены для удобства и не страдать. Ну, например https://пароли.мой.домен/ для парольного сервиса или https://почта.мой.домен/ для почты. Удобно, в общем, запоминается. Делать это будет Ngnix под капотом нашего PaaS, при желании всегда можете разобраться в конкретике.

Схема работы обратного прокси Ngnix в случае контейнеров

Схема работы обратного прокси Ngnix в случае контейнеров

Рекомендую я, конечно, домен купить. Цены на домены в популярных зонах достаточно либеральные, платить раз в год, регистраторов куча. В плане выбора регистратора я ничего конкретного советовать не буду. Адекватнее всего ориентироваться по цене и отзывам. Разве что маленькое наблюдение: если регистратор требует миллиарды шекелей за такие вещи, как банальное управление DNS записями, то возможно это не очень хороший регистратор и следует посмотреть в другую сторону.

Впрочем если вы только пощупать пришли, то домен можно получить и бесплатно. Есть такой регистратор — Freenom, там можно бесплатно достать домен в зонах .tk, .ml, .ga, .cf или .gq. Правда как часто бывает с чем-то бесплатным, сайт глючный. Если на проверке доменов у вас всё время пишется, что домен занят, попробуйте поставить сразу полный путь. То есть вводите в проверочное поле не мой_домен, а сразу, скажем, мой_домен.tk

Очевидно, что если что-то досталось бесплатно, то и потерять его легко — отзывы у Freenom в этом плане далеки от хороших. Так что если планируете что-то серьёзное, то лучше домен себе всё-таки купить у регистратора. Однако для маленького домашнего сервера потенциальная потеря домена не критична.

Cloudflare

Тут мы уже входим в пространство вкусовщины. Вам ничто не мешает использовать и редактор DNS записей вашего регистратора или любой другой сервис управления DNS записями домена. Тут, на хабре, вон вообще CloudFlare раком интернета недавно называли. Но с другой стороны, CloudFlare даже в базовой, бесплатной версии имеет достаточно много приятных фишек, которые ваш регистратор скорее всего не предоставляет. Тут и какая-никакая защита от DDoS, кеширование, расширенные возможности управления доступом и так далее и в том же духе. Плюс в одном из следующих пунктов, когда мы поднимем контейнер для DDNS, будет использоваться именно CloudFlare (впрочем настроить DDNS с другим провайдером вроде DuckDNS — задача достаточно тривиальная). 

Правда многие фишки пройдут мимо нас, поскольку проксирование у CloudFlare на wildcard-записи (ну, это записи включающие всё пространство имён *.мой.домен) не работает (ну, за бесплатно). Однако ничего не мешает потом, уже для отдельных сервисов, сделать конкретную запись и пожать все плюшки платформы. Ну или ещё лучше, если у вас статический IP адрес, вообще без DDNS обойтись.

Платформа

Физический путь

Удобство физического пути очевидно — стоит отдельная машинка, не мешает основной работе, радует глаз.

Если спросить, что же использовать как платформу, наверняка многие ответят Малинку (то есть Raspberry Pi). На мой взгляд это не самый лучший выбор для данного случая. 

Raspberry Pi отлично подходят для самодельных решений разнообразной направленности, но по соотношению цена/производительность не являются каким-либо лидером. И, хотя сейчас уже множество софта доступно под ARM системы, под x86 программы всё-таки чувствуют себя постабильнее.

Кто-то захочет переоборудовать старую машину или собрать на старых Xeon’ах себе компьютер для веб-сервера. И это тоже вариант, хотя по потреблению электроэнергии не оптимальный.

Я же советовал бы купить для данных целей недорогой (или не очень дешёвый, если вы хотите постоянно запускать «тяжёлые» задачи на вашем сервере) мини-пк (иначе называемый неттоп). Доступные варианты с 8 гигабайтами оперативной памяти, четырёхядерным Celeron и SSD на 128 гигабайт можно найти за 150-200 долларов и этого более чем хватит для домашних задач. При этом он будет компактным, тихим, удобным в размещении, достаточно приятно выглядящим и с низким TDP. Даже в самые дешёвые модели обычно можно доставить как минимум один, а порой и два 2,5 дюймовых диска, так что как файловую помойку его, в общем-то, тоже можно использовать. Хотя лучше превратить его в личное облако, а как файловый сервер использовать отдельное NAS-устройство — для отказоустойчивого хранения большого количества данных форм фактор мини-пк не слишком располагает.

Помимо этого, если вы «наиграетесь» и решите, что оно не ваше, такому компьютеру будет легко найти место. Например поставить обратно Windows и отдать маме/тёте Вале из третьего подъезда. Для офисной работы и использования браузера он подойдёт прекрасно.

А если вы за чуточку большую цену взяли мини-пк с несколькими сетевыми портами, то сможете превратить его в невероятно мощный и функциональный маршрутизатор, поставив сверху OpenWRT, PFsense, ClearOS или ещё какую-нибудь систему для роутеров. Ну и вообще альтернатив много, когда и если наиграетесь с предложенным мной вариантом.

Сразу, правда, надо учесть: шансы, что у такой машинки не будет работать Wi-Fi под линуксом, мягко говоря, не самые маленькие. Так что планируйте проводное соединение.

Заранее погуглите, на какую клавишу вызвать boot menu у вашей машинки. А образ для установки, если вы на Windows, лучше всего на флешку записывать программой Rufus.

Виртуальный путь

Если у вас есть просто живой интерес к тому, что и как настроить, определиться надо ли оно или не надо, то настраиваем виртуальную машину.

Тут стоит провести некоторое разграничение в понимании, поскольку дальше у нас будут ещё и контейнеры Docker. Внешне и по структуре они очень похожи, но вот по использованию неплохо так различаются.

Виртуальная машина — это именно то, как оно звучит — компьютер, которой на самом деле не существует, живущий внутри нашего. Её в какой-то мере можно сравнить с картонной коробкой. Её нужно где-то достать, развернуть, заполнить. Она стоит и занимает место, даже если не до конца заполнена. И залезть внутрь этой коробки иначе как сверху достаточно проблематично.

А контейнер — это как пакетик из магазина. Вроде и служит примерно той же цели, что и коробка, но внутрь что-то положить и достать проще, укладывать по-особому не нужно,места много не занимает, и выкинуть не жалко, и продырявить просто. Говоря же чуть более нормальным языком — контейнер это такая недо-виртуалка, которая ведёт себя скорее как процесс программы.

Конкретный гипервизор (ну, программа, где ваши виртуальные машины создаются и управляются) — на ваше усмотрение. Лучше, конечно, использовать гипервизор первого типа (они, как правило, быстрее, поскольку работают “под” операционной системой, а не “над” ней, как гипервизоры второго типа), но нашему серверу это не очень критично. 

Внимание, любители всяких игруль, мобильных и не очень, на Windows — большая часть гипервизоров конфликтуют с эмуляторами Android для игр и с некоторыми античит решениями. Нормально только Bluestacks для Hyper-V работает, так что заранее выберите, что вам важнее.

VirtualBox

Для начала распишу для VirtualBox, который доступен на всех основных платформах, хотя и не отличается высокой скоростью.

Нажмите на кнопку New (Создать) для создания новой машины, и, ориентируясь по своей логике, задайте все настройки — если что, то потом всегда сможете поправить. Правда, меньше чем 2 гигабайта оперативной памяти лучше не ставить.

После создания машины войдите в её настройки. В разделе Storage (Носители) добавьте ваш образ к дисководу (синяя иконка), а в разделе Network (сеть) поменяйте тип подключения на Bridged Adapter (Сетевой мост) и выберите сетевую карту, по которой к вам приходят интернеты, после чего сохраните. 

Hyper-V

Поскольку сам я в основном пользуюсь Windows, то предпочитаю использовать Hyper-V — встроенный в Pro версию системы гипервизор первого типа. Если вы пользователь Windows, то вам я тоже его советую — как и положено гипервизору первого типа, он весьма радует своей производительностью.  

Чтобы использовать Hyper-V, активируйте его в Turn Windows Features on or off (Включение или отключение компонентов Windows) и перезагрузите компьютер. Вероятно, вам ещё придётся включить аппаратную виртуализацию в BIOS, если вы ещё не делали это. Также необходимо создать в Hyper-V manager (Диспетчер Hyper-V) сетевой интерфейс, ведущий во внешнюю сеть. Кликните справа на Virtual Switch Manager (Диспетчер виртуальных коммутаторов), выберите External (Внешний) и нажмите Create Virtual Switch (Создать виртуальный коммутатор). Далее в настройках External Network (Внешняя сеть) выберите сетевую карту, по которой к вам приходят интернеты, а потом сохраните. 

После этого создайте новую машину в Hyper-V manager (но только не создавайте «быструю» машину, там всё не слава богу), а потом пройдите в её свойства и отключите Secure Boot (если машина 2-ого поколения). Остальные параметры по вкусу, но меньше 2 гигабайт оперативной памяти лучше не ставить. Ну и как сетевой интерфейс, очевидно, нужно поставить свежесозданный.

Установка и настройка системы

При выборе дистрибутива для установки у нас есть некоторый выбор (Но свериться с поддерживаемыми платформами на https://docs.docker.com/engine/install/ не помешает). Официально докер рекомендуется ставить на Ubuntu, я обычно предпочитаю Debian, но нам в целом не принципиально. Однако возможные подводные камни я распишу только для этих двух дистрибутивов.

И да, если можете, то лучше напрямую смотрите инструкции. А то информация в интернете имеет привычку устаревать и есть шанс, что к моменту, как вы это читаете, всё уже десять раз поменялось.

В случае с Ubuntu скачайте Ubuntu Server — на сервере графический интерфейс ни к чему, вы даже не будете подключать к нему монитор после изначальной установки. При установке важный момент — НЕ отмечайте Docker в качестве установки по умолчанию. Иначе он поставится как snap пакет, будет глючить, тупить и вообще, зачем вам лишние проблемы, не дружите со snap’ами, это плохая компания.

После установки системы копипастим по одной эти строчки (вы же уже подключились по SSH, правда ведь? Если нет, то чуть подальше будет инструкция) или вбиваем вручную:

sudo apt-get update
sudo apt-get install 
    ca-certificates 
    curl 
    gnupg 
    lsb-release
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo 
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu 
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

При установке Debian не надо отмечать web server, поскольку в качестве него у нас Nginx внутри контейнера Docker’а с нашим PaaS работать будет.

После установки системы копипастим эти строчки:

sudo apt-get update
sudo apt-get install 
    ca-certificates 
    curl 
    gnupg 
    lsb-release
    curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo 
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian 
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

В общем скачайте что вам нравится, запишите на флешку при физическом пути, подключите к виртуалке при виртуальном и давайте, устанавливайте по инструкциям.

Помимо того, чтобы вводить команды вручную, вы можете использовать Ansible или другие системы для развёртывания, но данное руководство их проигнорирует, поскольку ничего сложного мы не делаем. Просто знайте, что если вам потребуется однотипно настраивать несколько машин, то можно по ssh удобненько это делать через Ansible. Но ssh игнорировать всё же не стоит, ведь как минимум подключившись к своей машине по нему, вы сможете тупо копипастить все команды из руководств, а не вводить вручную.

Ansible это достаточно важный инструмент для Linux-админа и, если вы планируете сдавать или хотя бы просто учиться на сертификации от RedHat, то он вам понадобится. Ну так, на будущее.

Ssh клиентов великое множество, я обычно пользуюсь встроенным в Windows OpenSSH (хотя он встроен, но в старых версиях Windows 10 может быть по-умолчанию отключен. Включается в Turn Windows Features On and Off (Управление дополнительными компонентами)). Просто открываете PowerShell и пишите:

ssh логин_в_linux@IPшник_сервера

А после вводите пароль своего пользователя. Тут стоит отметить, что использовать ssh с паролем это не особо безопасно (но зато проще всего), и, если у вас будет желание с этим разобраться, то лучше настроить ssh ключ.

Систему мы настроили, но не спешите ставить CapRover. Сначала вернёмся к роутеру. Найдите в нём ваш сервер и зарезервируйте его IP адрес в DHCP. Ну или поменяйте его на что-нибудь приятное и зарезервируйте. У вас есть чувство прекрасного, я уверен. После этого пропишите перенаправление с 80, 443 и 3000 портов маршрутизатора на 80, 443 и 3000 порты нашего сервера.

Вот пример того, как оно выглядит в моём роутере TP-Link:

Теперь идём к домену. Войдите в CloudFlare или DNS редактор вашего регистратора и создайте следующую запись:

Тип: A
Хост: *.ваш.домен
Запись: указывает на ваш внешний IP адрес

Если вы не знаете как узнать ваш внешний IP адрес, то посмотрите в настройках интерфейса, роутера, где угодно. Ну или наберите в поисковике что-нибудь вроде «мой IP», если копаться не хочется.

Можете сразу не отходя от кассы создать токен, если планируете динамически обновлять DNS при изменении вашего IP адреса.

Для этого пройдите по ссылке https://dash.cloudflare.com/profile/api-tokens и создайте токен со следующими свойствами:

Zone — Zone Settings — Read
Zone — Zone — Read
Zone — DNS — Edit

Include — All zones

Сохраните длинный Cloudflare API токен, но далеко не убирайте.

Всё, теперь заходим на сервер и пишем волшебную команду, которая поднимает нашу систему для управления контейнерами:

docker run -p 80:80 -p 443:443 -p 3000:3000 -v /var/run/docker.sock:/var/run/docker.sock -v /captain:/captain caprover/caprover

Если вы плохо знакомы с Docker’ом, то тут мы запускаем наш первый контейнер — небольшой PaaS CapRover. Помимо этого мы даём портам в контейнере путь на волю (-p 80:80 -p 443:443 -p 3000:3000), позволяем контейнеру иметь доступ к демону Docker на хост-машине (-v /var/run/docker.sock:/var/run/docker.sock) и делаем так, чтобы папка из контейнера хранила своё содержимое в папке на хосте (-v /captain:/captain). Если так не сделать, то при перезапуске контейнера всё содержимое: настроечные файлы и другие данные нашего контейнера, потеряются навсегда. Так что никогда не забывайте указывать команду -v при работе docker в консоли, чтобы потом не плакать у разбитого корыта. Ну а caprover/caprover — это образ на Docker Hub.

Подождите немного и зайдите либо по айпи адресу, либо по адресу вашего домена:3000 (например http://мой.домен:3000), введите пароль captain42 . После этого тут же введите в нижнее поле ваш домен и нажмите Update Domain. Можете также нажать на Enable HTTPS, но вот на Force HTTPS не надо нажимать — Cloudflare и так трафик у вас (если вы оставили рекомендуемые настройки) с http на https переводит. Конфликтов на этом поводе нам не надо.

Вы великолепны! 

Настала пора запустить наш первый контейнер внутри PaaS.

Перейдите в веб панели в раздел Apps, нажмите на One-Click Apps/Database, найдите CloudFlare DDNS. Это достаточно простой контейнер, весь смысл которого сводится к тому чтобы раз в пять минут проверять, изменился ли IP адрес сервера, и, если изменился, обновлять DNS запись на CloudFlare.

После того как вы нажали на него, вы увидите много опций для ввода. Вообще говоря, чтобы всё заработало нам достаточно просто указать наш сохранённый токен CloudFlare и задать какое-нибудь имя. Но давайте всё-таки разберёмся, что именно мы видим.

А видим мы опции ввода так называемых переменных окружения. Не всех правда, а только тех, которые указал автор конфигурационного файла для CapRover. Значения из этих переменных контейнер может достать и использовать в своих целях, проще говоря через них задаётся начальная конфигурация контейнера.

Так вот, задайте какое-нибудь имя, вставьте ранее сохранённый токен и нажмите Deploy. Контейнер заработал. Теперь можете делать что угодно!

Чуть сложнее

Этот контейнер был простым, без веб доступа, но что у тех, к которым мы будем иметь доступ? Да в общем всё так же, разве что ещё можно включить https, задать домен, указать HTTP порт контейнера и включить websocket. Попробуйте, это просто и интересно!

Использование

И вот наконец у нас всё стоит и работает.

Зачем оно вам? Ну, если вы до сих пор не знаете — придумайте. Для установки в один клик в CapRover доступно множество приложений для повседневного использования. Например менеджер паролей Vaultwarden. Торрент-клиент Qbittorrent. Сервер Minecraft. Боты для Discord. Вариантов много.

Я, например, держу стол для игры в DnD с друзьями Foundry VTT, веб-интерфейс для пробуждение от спячки моего домашнего компьютера (чтобы потом подключаться по RDP), свой маленький гит на базе Gitea, удобный фронтэнд для чтения Reddit’а libReddit, веб-архив для закладок и ещё кучу всякой всячины для тестов и изучения. 

Ничто не мешает вам самому поэкспериментировать с контейнерами, которых в списке ещё нет, а если результат будет удовлетворительным — опубликовать свой конфиг на Github среди других приложений для установки в один клик.

В самом начале мы установили SSH, так что если вы захотите более тонкой настройки, подключите и тыкайтесь. Советую также зайти на SSH через VS Studio Code с установленным расширением Docker’а, и установить его же сразу там на ваш сервер. Теперь наблюдать, управлять и чистить мусор в контейнерах гораздо удобнее.

Что дальше?

Возможно, вам уже хватило, вы поняли что это не ваше и вообще. Тоже неплохой результат. Возможно, вы просто хотели домашний сервер и получили его — опять же, к результату мы пришли. Или же вы хотите большего — и это тоже прекрасный результат! Надо понимать, что хотя Docker Swarm уже несколько протух, для небольших нагрузок, вроде домашнего использования, он подходит на отлично. А если вам мало, то, разобравшись как и что тут работает, вы можете медленно начать своё движение к изучению kubernetes. 

Что можно посоветовать конкретного? Ну, если Docker вам интересен и хочется в нём разобраться поглубже, то вводный цикл статей от Microsoft достаточно приятно и наглядно объясняет как и что оно.

Если хотите покрупнее брать — и в Hyper-V получше разобраться, и в контейнерах и чуточку затронуть кубер, то вот ещё у них есть неплохие материалы.

Не, не, вы не подумайте, я хоть и виндовый админ (ну хорошо-хорошо, эникей а не админ), но не сказать чтобы прям топлю за Microsoft, просто материалы у них бесплатные и достаточно толковые, на мой взгляд.

Коли от Microsoft тошнит — ищите курсы. В англоязычных интернетах с этим проще — идёшь на Udemy или Pluralsight и выбираешь курс по теме, где люди поменьше в комментах бугуртят на качество, и в бой. С русскоязычными курсами посложнее в выборе, но кто ищет — тот найдёт. 

Ну и наконец если в целом вся эта тема с сервисами на своём домашнем сервере вам интересна, то вот отличный список selfhosted решений на все случаи жизни.

В общем, да пребудет с вами IT сила!

Содержание:

  • Установка веб-сервера, размещений фалов сайта

  • Шаг №1

  • Шаг №2

  • Настройка доступа к сайту по локальной сети с помощью Open Server

  • Шаг №1

  • Шаг №2

  • Шаг №3

  • Шаг №4

  • Настройка доступа к сайту из сети интернет по IP и по имени домена

  • Шаг №1

  • Шаг №2

  • Шаг №3

  • Шаг №4

  • Установка движка

  • Шаг №1

  • Шаг №2

  • Шаг №3

  • Шаг №4

При создании собственного сайта с нуля и необходимости, чтобы он работал исключительно в вашей локальной сети, его нужна сначала тщательно протестировать, а только потом выкладывать в сеть. С этой целью можно использовать свой ноутбук или персональный компьютер, создав на нем сервер.

Сделать это достаточно просто и быстро. Самая главная и сложная задача – обеспечить непрерывность и стабильность работы сервера, ведь контролировать ее самостоятельно каждый день или даже час, а также постоянно следить за компьютером и его подключением к интернету практически невозможно.

В целом, создать надежный и бесперебойно работающий сервер бесплатно возможно, но нужно учитывать несколько нюансов. Компьютер или ноутбук должен быть подключен к сети интернет или к локальной (возможно использование даже домашнего Wi-Fi-роутера). Способ, изложенный в статье, актуален для операционной системы Windows 10 или 11.

Если все же с созданием сервера возникнут проблемы, то всегда можно обратиться к специалистам. IT-инженеры компании ittelo.ru досконально изучили эту тему и смогут помочь решить вопрос в короткие сроки и по разумным ценам.

Установка веб-сервера, размещений фалов сайта

Создание собственного сервера – процесс этапный, поэтому, чтобы не запутаться, лучше разбираться в нем постепенно, выполняя шаг за шагом.

Шаг №1

Для создания сервера можно использовать Open Server. Это не пиратка, а официальный сервис. Он надежный, стабильный, у него интуитивно понятный интерфейс, много полезных функций (к примеру, возможность настройки автовыполнения скриптов, выбора версии MySQL или PHP). Ознакомиться со всем перечнем опций Open Server можно через сайт. Здесь же можно установить и запустить сервер. После успешной установки на панели задач появится флажок зеленого цвета.

Важно! Если Open Server не запускается, причина может быть в отсутствии Microsoft Visual C++. Поэтому, если при установке сервера вам предлагают его загрузить, дайте разрешение на скачивание.

Шаг №2

На этом этапе необходимо открыть папку установки Open Server (на локальном диске «С»), а затем перейти в раздел «Domains». Здесь нужно создать новую папку и задать ей имя по названию адреса сайта. К примеру, newforme.site можно использовать как newforme.ru, newforme.com.

В созданной под названием домена папке необходимо разместить файлы сайта (HTML-коды, движок и другие). На данном этапе создания сервера будет достаточно размещения одного тестового файла для проверки.

Важно! Необходимо создать такой адрес сайта, который еще никто не использует. В противном случае, если в будущем вы захотите его открыть для общего доступа, зарегистрировать домен будет невозможно. Проверить занятость адресов можно на сервисе Рег.ру.

Настройка доступа к сайту по локальной сети с помощью Open Server

Шаг №1

Для установки необходимых параметров доступа к веб-сайту нужно нажать на значок Open Server (тот самый флажок внизу экрана на панели задач). Появится меню, в котором нужно открыть пункт «Настройки», а затем перейти в раздел «Модули». Здесь потребуется задать параметры MySQL, HTTP, PHP, необходимые для функционирования вашего сайта.

Шаг №2

После настройки модулей следует перейти в раздел «Сервер». Здесь нужно разрешить запуск в агрессивном режиме (поставить галочку напротив соответствующей строки). Это необходимо для того, чтобы сервер продолжил свою работу при возникновении небольших ошибок.

В этом же разделе найдите пункт «IP-адрес сервера» и выберите параметр «Все доступные IP». Нажмите кнопку «Сохранить» в нижнем правом углу окна.

Шаг №3

Задача этого этапа – выяснить локальный IP адрес ноутбука или персонального компьютера, через который вы установили Open Server. Он понадобится для запуска сайта. Легче всего это сделать, если вы подключены к интернету через wi-fi. В таком случае нужно просто открыть настройки роутера и найти в перечне подключенных устройств свой компьютер. Напротив его имени будет написан адрес в цифровом формате (к примеру, 123.345.7.8).

Важно! Если у вас несколько устройств, подключенных к одному и тому же роутеру, то лучше в его настройках закрепить найденный IP за тем компьютером, с которого вы запустили сервер. В противном случае адрес может быть присвоен и другим устройствам в вашей сети.

Шаг №4

После того как адрес IP стал известен, нужно снова открыть настройки Open Server и перейти во вкладку «Алиасы». Здесь его необходимо вписать в поле «Исходный домен», а в соседнем поле «Конечный домен» указать адрес вашего сайта (в рассматриваемом примере это newforme.site).

Настройка доступа к сайту из сети интернет по IP и по имени домена

Теперь, по «Исходному домену» (IP 123.345.7.8) сайт можно будет открыть с любого компьютера, ноутбука, планшета или телефона в пределах локальной сети, то есть с тех устройств, которые будут подключаться к сети от вашего роутера. По «Конечному домену» сайт будет приватным и сможет запуститься только с того ПК или ноутбука, на котором запущен сервер. Чтобы разрешить доступ по имени домена другому устройству, откройте на нем блокнот и отредактируйте системный файл hosts, добавив в него строку по примеру: 123.345.7.8 newforme.site. Это придется проделать со всеми гаджетами, чтобы открывать с них сайт не по IP, а по доменному имени.

Итак, разрешить доступ к устройствам, подключенным к локальной сети не сложно. А как же открыть сайт для всех пользователей интернета? Для начала необходимо определить тип вашего внешнего адреса IP. Он может быть «белым» или «серым». В первом случае, когда такой IP изначально установлен вашим провайдером, дополнительных действий с адресом выполнять не требуется.

Во втором случае просто так ничего не выйдет. Если вы даже не подозреваете, какой тип адреса у вас, можно попробовать разрешить доступ к сайту по описанным ниже рекомендациям. При возникшей ошибке подключения вывод о том, что IP «серый» напросится сам собой. В такой ситуации потребуется заказать у вашего провайдера создание «белого IP-адреса». Ценник разный и сильно варьируется у разных интернет-компаний.

Шаг №1

Итак, если предположить, что у вас уже есть «белый» IP, то можно приступать к разрешению доступа. Чтобы выяснить номер внешнего адреса, необходимо, как и в случае с внутренним, сначала зайти в программу настроек роутера. В появившемся окне найдите вкладку «Состояние/информация о подключении» и откройте ее. Внешний IP будет иметь следующий формат: 10.987.654.321.

Шаг №2

После этого в настройках роутера пробросьте порты 443 и 80 на тот ноутбук или персональный компьютер, на котором создавался веб-сайт, и устанавливался «домашний» хостинг. Этой первый вариант. Второй, более простой и автоматизированный – подключить DMZ-хост для вашего устройства. Для этого в настройках сервера откройте вкладку «Состояние», нажмите кнопку «Вкл» напротив одноименной строки, а в строку ниже «IP адрес» впишите внутренний IP адрес (в данном примере — 123.345.7.8).

Шаг №3

После проброски портов нужно связать имя домена и внешний IP. Для этого войдите в настройки Open Server в раздел «Алиасы». В поле «Исходный домен» впишите внешний IP (10.987.654.321), в «Конечный домен» – адрес веб-сайта (newforme.site).

Эти действия позволят открывать сайт с любых гаджетов, подключенных к интернету. Для этого в поисковой браузерной строке нужно набрать адрес внешнего IP и нажать «поиск».

Шаг №4

Чтобы пользователи интернета могли находить и открывать сайт по имени домена, его нужно будет зарегистрировать. Сделать это можно у IT-специалистов компании ittelo.ru.

Важно! Для регистрации доменного имени необходимо, чтобы оно было свободно и не использовалось ранее на других ресурсах.

После этого у регистратора домена необходимо открыть раздел «Управление записями DNS» и добавить запись вида «А внешний IP» (например, А 10.987.654.321). Это действие связывает адрес с доменным именем и позволяет автоматически открывать нужный сайт при запросе домена.

Примерно через 30–60 минут сервер начинает работать. До этого момента при попытке загрузить сайт может вылетать ошибка или «заглушка», но после обновления информации все откроется.

Важно! При изменении внешнего IP интернет-компанией, перебоях в сети или в случае выключения ПК или ноутбука, на котором установлен Open Server, сайт открываться не будет, поэтому для его бесперебойной работы необходимо всегда оставаться онлайн.

Установка движка

Итак, завершающий этап создания собственного сервера. Он также включает в себя несколько шагов. Реализовать его можно через разные сервисы, здесь рассмотрен пример на базе WordPress.

Шаг №1

Для начала нужно загрузить движок сайта в формате архива (как правило, ZIP) на ноутбук или компьютер, на котором создается сервер. Затем правой кнопкой мыши нажать на значок Open Server на панели задач (зеленый флажок), перейти во вкладку «PHPMyAdmin» и выбрать пункт «Дополнительно».

Шаг №2

В появившемся окне – меню создания базы данных. В соответствующей строке введите нужное название и кликните «Создать».

Шаг №3

Откройте раздел «Domains» в меню Open Server и создайте папку, задав ей имя такое же, как у вашего сайта (в данном примере — newforme.site). В нее необходимо извлечь файлы из архива ZIP движка сайта.

Среди них нужно найти файл под именем «wp-config-sample.php», после чего изменить его название на «wp-config.php», а затем открыть.

Шаг №4

В появившемся окне найдите поле «DB_NAME» и впишите в него название ранее созданной базы данных, в «DB_USER» – имя пользователя, а поле «DB_PASSWORD» оставьте пустым.

Теперь можно вводить адрес сайта в поисковую строку любого браузера и пробовать его открыть. При возникновении ошибки перезагрузите Open Server и повторите предыдущие действия. При успешной загрузке всплывет приветственное окно, в котором нужно будет ввести название сайта, имя пользователя, задать пароль и указать вашу электронную почту.

После этого сайт начнет работать на платформе WordPress, он должен открываться на любых устройствах: как на компьютерах, так и на смартфонах с операционными системами IOS и Андроид.

Рассмотренный пример создания собственного сервера для сайта – быстрый и достаточно легкий способ открыть к нему доступ для пользователей как из локальной, так и из общей сети.

Однако у него есть свои нюансы, ограничивающие применение этого метода:

  1. Необходимость регистрации «белого» IP адреса. Как правило, у всех провайдеров эта услуга платная и у многих не дешевая. Поэтому в ряде случаев даже выгоднее сразу арендовать платный сервер, не тратя на его создание время и силы.
  2. Нужно, чтобы ноутбук или компьютер с установленным сервером был включен круглосуточно, да и работа интернета должна быть бесперебойной. С целью подстраховки можно подключиться сразу к двум провайдерам. В случае отключения ПК или интернета сайт моментально перестает загружаться, поэтому важно постоянно следить за их работой, что крайне неудобно.
  3. При посещении сайта, работающем на «домашнем» сервере, большого количества пользователей возникает значительная нагрузка на центральный процесс, что может негативно сказываться на общей производительности компьютера.

Важно! Для более быстрой загрузки сайта рекомендуется его разместить на SDD диске. HDD накопители дают значительно меньшую производительность.

В целом способ несложный и «рабочий». Однако использовать его ради экономии денежных средств при создании публичного сайта нецелесообразно. Он подойдет скорее для запуска маленького форума для небольшого круга пользователей или с целью тестирования перед основным запуском через крупный хостинг.

Скрыть объявление

В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!
Страница 1 из 3

  1. Привет всем! В этой статье я хочу рассказать вам о том, как создать сервер с нуля, как его правильно настроить, что есть правильно (по моему мнению), а что нет (по моему мнению).

    Также, хочу отметить, что я буду повествовать обо всем со своей колокольни, не всегда правильно, не всегда определения из Wiki. Я просто разраб серверов, который делится опытом с новичками.

    Итак, от Вас требуется:
    1) Желание. Без желания создать сервер, я считаю, мало что получится.
    2) Минимум финансов. Без финансов ни в лужу ни в реку.
    3) Минимум знаний о том, как что работает. Я Вам расскажу немного о том, о сём, остальное придётся самим ;)
    p.s Я не собираюсь рассказывать о том, что нужно устанавливать Java, где скачать Minecraft и прочее. Если вы не знаете базис — это статья не для Вас, простите.

    Итак, у нас есть желание создать сервер! С чего начать? С плана, конечно! Что из себя представляет план? Ну… Я считаю, каждый по-разному его составляет, кто-то продумывает все, от А до Я, кто-то делает наброски и стратегию, кто-то только название и финансы, но он у каждого имеется. Мы с Вами сделаем что-то между всем этим.
    План:
    1) Что мы хотим от сервера?

    Я создаю сервера ради идеи , которые не нацелены на заработок вообще, мне нравится создавать сервера (кайфую от этого). Разумеется, нам нужен donate, так называемый, чтобы покрывать, хотя бы, траты на сервер, но об этом позже.
    Что мы хотим? Сделать сервер для себя? Для заработка? Каждый решает сам, я не в силах Вам помочь.

    2) Определяемся с выбором версии.

    Воспользуемся этим сайтом, чтобы выбрать подходящую нам версию. (тут можно узнать небольшую статистику по русским серверам)
    1.18.x ~ 3.500 серверов (~55% от всех серверов);
    1.17.x ~ 600 серверов (10%);
    1.16.x ~ 700 серверов (11%);
    1.15.x < 0
    1.14.x ~ 0
    1.13.x ~ 0
    1.12.x ~ 400 серверов (6%)
    Ниже 1.12.2 не советую рассматривать т.к это уже старьё (хотя и 1.16, по мне, уже старая).

    Для более широкого спектра воспользуемся этим сайтом. (тут показана статистика плагинов. Идет всемирный охват, а не только СНГ)
    1.18.x ~ 100.000 серверов (50% от всех серверов)
    1.17.x ~ 20.000 серверов (11%);
    1.16.x ~ 15.000 серверов (9%);
    1.15.x ~ 1.000 серверов (<1%);
    1.12.x ~ 12.000 серверов (7%);
    1.8.x ~ 12.00 серверов (7%).

    Статистика за прошлые года.

    Тут ситуация иная. Старые версии серверов имеют вес на фоне всех серверов, но при этом, 1.18.x лидирует с большим отрывом. Думаю, не стоит объяснять почему новые версии всегда такие популярные,. А вот почему 1.12.x и 1.8.x входят в топ-5 популярных версий — не знаю. Я считаю, что сидеть на старых версиях нет никакого смысла т.к они не дают никакого нового игрового опыта. Просто дойная корова ¯_(ツ)_/¯.

    Мы выбрали версию 1.18.2. Я считаю, что нужно быть всегда на самых последних версиях, по-возможности, разумеется.

    3) Определяемся с тематикой сервера.

    «Тематики», это я, конечно, погорячился т.к не всегда Вашу сборку можно отнести под какую-то конкретную тематику. Но мы попробуем :D
    Думаю, самые популярные на сегодняшний день являются:
    — Школо-сервера (сразу забываем про это, ведь, у нас нет проблем со здоровьем);
    — Мини-игры;
    — Ванильное выживание (минимум плагинов);
    — RPG сервера;
    — Микс (RPG + ванилька + мини-игры + школо + ….).
    Свои идеи пишите в комментарии ;0.

    Мы выбрали — Микс (RPG + ванилька).

    План составлен! Переходим к самому интересному — созданию сервера! Большенство информаци Вы сможете получить с просторов spigotmc.org, dev.bukkit.org, rubukkit.org

    1) Ядро сервера
    Если Вы делаете сервер один (рассматриваем этот вариант), то создаем папку на рабочем столе, например «Spigot», в которой и будем собирать его собирать.
    Основа сервера — ядро. Ядро — это то, на чем будет работать наш сервер.

    Есть несколько видов «ядер» сервера: CraftBukkit, Spigot, PaperSpigot и другие.
    Самым популярным является Spigot. Но мы будем использовать PaperSpigot т.к он более оптимизированный. (подробнее про ядра найдете на просторах spigotmc.org и rubukkit.org) Скачать последнюю версию можно здесь. Его документация находится тут).
    p.s Те, кто разбирается в ядрах лучше, можете написать в комментариях, обязательно поправлю информацию.

    2) Первый запуск сервера
    Закидываем скаченное ядро в папку «Spigot» (которую мы создали). Изменяем название этого jar’ника на «PaperSpigot.jar». Далее, в этой же папке создаем файл «start.bat», его открываем через Текстовый редактор и вставляем этот код:

    @echo off
    
    java -jar PaperSpigot.jar
    
    pause
    
    Создаем «start.sh» и в него прописываем:

    java -jar PaperSpigot.jar

    После прописываем в консоль «sh start.sh»

    После запускам наш «start.bat» (открываем его). Ждем пока все прогрузится и лицезрим такую картину:

    terminal.png

    Это говорит нам о том, что нужно принять пользовательское соглашение EULA. Для этого открываем файл «eula.txt», и в строчке «eula=false» заменяем «false» на «true», то бишь, должно получиться «eula=true». Повторно запускаем наш сервер, и, после всей подгрузки, генерации мира и прочих действий, при запуске сервера мы увидим такую надпись:

    [00:06:10 INFO]: Done (7.110s)! For help, type "help"
    

    Это означает, что наш сервер запустился! Ура! На него можно зайти через IP: «127.0.0.1» или «localhost».
    Выключить сервер можно нажатием кнопок «Ctrl + C» или прописав в консоль «stop».

    Отлично, сервер работает! Что делать дальше, шеф? А дальше нам нужно настроить PaperSpigot. Хорошее руководство есть у пользователя @baksovic111. Его статья тут. Она обязательна к ознакомлению. Также, можете ознакомиться вот с этой статьей от пользователя @temoon (старая статья 2014 года, рекомендую ознакомиться с официальной документацией).
    p.s Для тех, кто хорошо знает английский есть статьи на spigotmc.org по этим файлам, где расписан каждый параметр (Spigot Configuration & Paper Configuration & server.properties). А также есть очень хорошая статья по оптимизации [GUIDE] Server Optimization.
    p.p.s Если делаем пиратский сервер, то в файле «server.properties» изменяем «online-mode=true» на «online-mode=false».

    3) Установка плагинов
    Итак, мы настроили эти файлы под себя, все прекрасно! Далее идет подбор плагинов под Вашу сборку. Начнем мы, конечно, с базисных плагинов (опять же, у каждого разработчика они свои, но мы будем опираться на то, что Вы в этом еще толком не разбираетесь, а значит и моя подборочка будет Вам кстати).

    Все скаченные плагины закидываем в папку «plugins». Снова запускаем сервер, чтобы подгрузились наши плагины и создались их папки, чтобы мы смогли их настроить.

    Итак,
    1) Vault — плагин, который реализует систему экономики. Не имеет никаких настроек.
    2) EssentialsX — плагин, который используется как «скелет» сервера. С помощью него Вы сможете настроить основные механики игры, такие как — телепортация, чат, экономика, админ-команды и команды игроков. Более подробно с конфигурацией и настройкой этого плагина Вы можете ознакомиться в русской статье тут и на английском языке от первоисточника тут.
    3) WorldGuard & WorldEdit — Это два взаимодополняющие плагины. Сокращения WG & WE соответственно.
    WG — плагин, который поможет защитить нам игровой мир от ненужных нам воздействий на него (захламления карты), например, поджога лесов, разлития лавы. А так же, для того, чтобы «заприватить» определенный участок территории, на которой нельзя будет ломать блоки, например, для создания «спавна» (*место, где игроки появляются первый раз. Что-то на подобии safe-zone*). Также, благодаря этому плагину, игроки смогут создавать свои «регионы«, где они смогут строить свои дома, а другие игроки не смогут с ним взаимодействовать (ломать блоки, открывать сундуки). Хорошее руководство по WG от @mayor123 находится тут. Советую прочитать. Документация от разработчика на английском тут
    WE — плагин, который помогает администраторам редактировать игровой мир. Также, WG не будет работать без WE. Статья на русском тут. Документация от разработчика тут.
    4) DeluxeMenus — плагин, который поможет Вам создать меню сервера. Меню сервера — «инвернтарь«, в котором Вы настраиваете иконки — предметы — которые носят информативный характер о Вашем сервера. Также это меню называют — «GUI«. Гибкий плагин, советую в нем хорошо разобраться. Статья на русском тут. Документация от разработчика плагина тут.
    4.1) AbstractMenus — аналогичен DeluxeMenus, только в разы . Очень качественная и объемная документация на русском, где Вы сможете ознакомиться с огромным списком возможностей этого плагина.
    5) SkinRestorer — плагин, который добавляет возможность поставить любой скин любому игроку. Незаменимый плагин для пиратских серверов т.к изначально на пиратских серверах не подгружаются скины, даже если Вы заходите на сервер с лицензии.
    6) HideStream — плагин (я бы назвал его «утилита«), который убирает сообщения о входе/выходе/смерти и т.д.
    7) LuckPerms — плагин, который реализует «права» на сервере. Вы сможете очень гибко настроить для каждого игрока/группы игроков доступ к тому или иному функционалу Ваших плагинов. Прекрасная, просто замечательная статья написанная @InterWall находится тут. Эта статься обязательна к ознакомлению! Документация от разработчика плагина на английском языке тут.
    8) AuthMeReloaded — самый популярный плагин на авторизацию. Т.к у нас пиратский сервер, то любой может зайти под любым ником, например, под Вашим и сломать Вам сервер. Избежать такую ситуацию поможет этот плагин. Документация от разработчиков тут

    Только после изучения базисных плагинов, можно приступать к плагинам, которые подходят под нашу тематику. Т.к у нас RPG-винилка, нам нужны: квесты и прокачка персонажа. На spigotmc.org есть много плагинов, которые реализуют нужные нам системы, но большинство из либо платные, либо не работают на последних версиях (увы и ах). Что же, пойдем искать…
    Проведя немного времени в поисковике находим:
    1) Quests — плагин для реализации квестов. (платный аналог QuestCreator)
    2) MMOCore — плагин для реализации прокачки персонажа и боёвки (Это плагин из раздела «premium» и стоит некоторое кол-во денег. Вы можете найти альтернативы из бесплатных плагинов (я не могу вспомнить хорошие плагины :whistle:), но в этом случае мы будем использовать BattleLevels (старый плагин, который уже не поддерживается, но смысл повествования не поменяется)).

    Вложения:

    Последнее редактирование: 21 мар 2022
  2. Устанавливаем на сервер, перезагружаем сервер и смотрим, все ли подгрузилось, прописав команду «pl» в консоль.
    DeluxeMenus подсвечивает красным, это означает, что он не работает. Давайте разбираться, что произошло. Открываем логи сервера — «logs/latest.log» и находим момент включения плагина «[DeluxeMenus] Enabling DeluxeMenus v1.10.5*«.
    Изучив логи, понимаем, что у нам не установлен плагин «PlaceholderAPI«. Находим этот плагин и устанавливаем.
    Перезапускаем и проверяем, все ли плагины загружены командой «pl«
    Отлично! Все работает! Что дальше, шеф? А дальше…

    А дальше:
    4) Делаем спавн
    Итак, плагины у нас есть, они все работают, мы сделали их первичную настройку, но геймплейная часть у нас отсутсвует! Для начала, нам нужно сделать спавн! (*Спавн? Зачем?!*).
    Спавн — начальная игровая местность, где игрок, впервые зайдя на сервер, сможет понять что да как.
    В зависимости от предпочтений спавн может быть разных размеров. Мы же будем делать его средним. На спавне обязательно должно быть место возрождения (то место, где игроки будут появляться первый раз, телепортироваться). Т.к строить это творческое занятие, оно может растянуться на долгое время. Мы пойдем по легкому пути — скачаем готовый спавн. Есть много разных ресурсов, которые предлагают готовые варианты, например planetminecraft.com или ru-minecraft.ru.
    ВАЖНО! Мы же делаем с душей, да? Да! А значит, абы как мы не хотим, а значит нужно брать спавны, созданные не раньше 2021-2022. Почему? Потому что все спавны созданные раньше этих годов использовались чуть ли не во всех проектах РФ, а значит уникальность, в том или ином смысле, сводиться к нулю. Для примера я взял вот этот спавн. Установка:

    1) Останавливаем сервер командой «stop«;
    2) Удаляем текущую карту — папка «world«;
    3) Скидываем скаченную папку на сервер и изменяем название на «world«
    4) Запускаем сервер

    Зайдя на сервер мы можем не понять, где мы находимся? Где спавн?! Проблема заключается в том, что координаты этого спавна отличаются от ваших. Для этого устанавливаем карту в одиночном мире и узнаете координаты спавна: «F3» и слева сверху координаты x, y, z

    xyz.png

    Вид координат таков: «XYZ x / y / z«
    Заходим на сервер и прописываем такую команду «/tppos x y z«, где «x» — первая координата, «y» — вторая координата (высота), «z» — третья координата. (пример команды — «/tppos 115 4 -101«).
    Прописав эту команду видим такое сообщение в чат «У Вас нет прав для выполнения данной команды.«. Понятно почему не выполнилась команда. Как получить права? Есть 2 способа:
    1) Выдать себе OP — в консоле «op nick» (пример — «op iForgotPassword«)
    2) Выдать себе права через LuckPerms. Этот способ мы и будем использовать. Для этого в консоли прописываем такую команду — «lp user nick permission set *» (пример — «lp user iForgotPassword permission set *«).
    После этого заново прописываем команду на телепортацию по координатам (/tppos x y z). Оказавшись на спавне, находим точку, где будут появляться игроки и там прописываем команду «/setspawn«. Теперь нам нужно заприватить наш спавн. Для этого выделяем его крайние точки и прописываем «/rg define spawn» (Научиться приватить Вы можете после прочтения этой статьи). Сейчас наш спавн запривачен и никто не может ставить/ломать блоки. Но это еще не все! На спавне еще не стоят «флаги«. (флаги — значения территории, которые ограничивают некоторые возможности, например запрещают PvP). Нам нужно проставить следующие флаги:

    Все флаги работают только на территории региона (привата), в нашем случаем — на территории спавна
    Формат списка таков: Флаг Значение (none/allow/deny), где «Флаг» это его функция, а «Значение» none — ничего; allow — разрешено/доступно; deny — запрещено/недоступно.
    pvp deny — Отключить PvP;
    invincible allow — Бессмертие;
    mob-spawning deny — Отключение спавна мобов;
    vine-growth deny — Отключение «топтания» посадок (пшеница, морква и пр.);
    fall-damage deny — Отключение урона от падения;
    leaf-decay deny — Отключение опадения листьев;
    damage-animals deny — Отключение урона мобам.

    Поздравляю! Вы только что сделали рабочий спавн!

    4) Настройка играбельности
    Все готово к игре, кроме одного — «заточки» всех плагинов под Ваш план. А именно, Вы должны настроить каждый плагин индивидуально под Вашу тематику, стиль игры и Ваших предпочтений. Для этого читайте документацию по каждому плагину, экспериментируйте с настройками, добавляйте и удаляйте плагины. Все самое интересное оставляю Вам на самостоятельное обучение, ведь, Вы должны сами в этом разбираться, а не повторять за мной ;)

    5) Выбор серверной машины
    Из-за ограничений Visa и MasterCard в РФ оплата зарубежных провайдеров невозможна. Пользуемся ihor.ru :nerd:

    Предположим, что мы создали рабочий сервер, все работает и мы хотим запускать сервер в продакшн. Для этого мы должны определиться с выбором серверной машины. Выбираем VPS/VDS (НЕ ХОСТИНГ!) из: ovh.ie, hetzner.com, ihor.ru. Расскажу вкратце про каждый:
    1) OVH.ie — пожалуй, самый лучший поставщик серверных машин! Цена-Качество на высшем уровне. Встроенный AntiDDoS и всемирная популярность делает этого поставщика самым лучшим на рынке. Единственная проблема — малая вариация конфигураций серверов. А еще 18+.
    2) hetzner.com — дороже чем ovh.ie. Возникали проблемы с тех. поддержкой
    3) ihor.ru — русский аналог. Большая вариация серверных машин, нормальная (наверное) тех. поддержка. Хорошая замена зарубежных поставщиков. (остался недоволен в 2017 году. Больше к ним не возвращался). (как обстоят дела на момент марта 2022 — мне неизвестна)
    Купив VPS/VDS настраиваем её по этому туториалу от @nik_drsmiles. Также можете использовать эти скрипты запуска/бекапа и прочее. Более подробно о подключении сервера на VPS/VDS сможете найти на просторах интернета.

    Спасибо за прочтение данной статьи, надеюсь, она поможет новичкам создать свой первый, хороший, уникальный сервер. Ждем Вас на просторах Ру-Майнкрафта ;)

    Последнее редактирование: 20 мар 2022
  3. подправь ссылку на статью DeluxeMenus на русском

  4. по прежнему перекидывает на этот адрес
    Безымsянный.png

  5. Он не откроется, ссылки на этот форум здесь «вне закона». Лучше через сокращатель пропустить.


  6. Saharo4ek

    Saharo4ek
    Активный участник
    Пользователь

    Баллы:
    96
    Имя в Minecraft:
    tin

    Он у тебя почему-то выбрал порт 21030 :confused:
    Заходи с localhost:21030 или 127.0.0.1:21030


  7. MVP13

    MVP13
    Новичок
    Пользователь

    Хм, выбрал он потому, что хотя бы порт я настроил 21030 ) (25565 вообще не работал и лагал без правил….)


  8. Saharo4ek

    Saharo4ek
    Активный участник
    Пользователь

    Баллы:
    96
    Имя в Minecraft:
    tin

    ну тогда в чем проблема была его ввести, раз сам его поставил? :ninja:


  9. MVP13

    MVP13
    Новичок
    Пользователь

    А имеет значение, в какую папку помещать папку сервера?


  10. Dymeth

    Dymeth
    Активный участник
    Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth

    Как правило нет. Главное, чтобы были все необходимые права.


  11. MVP13

    MVP13
    Новичок
    Пользователь

    Права администратора Windows? Или другие?


  12. imDaniX

    imDaniX
    Активный участник
    Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX

    Права на редактирование файлов и папок и пр. лабуды.

  13. UP.
    Изменения:
    — Обновил статистику серверов (также добавил ссылку на bstats.org);
    — Добавил новые статьи по оптимизации ([GUIDE] Server Optimization);
    — Изменил базисные плагины:
    — SkinRestorer заменил на CustomSkinManager;
    — Добавил AbstractMenus.
    — Изменил список плагинов для RPG:
    — BetonQuest на Quests & QuestCreator;
    — BattleLevels на MMOCore.
    — Поправил невалидные ссылки.

    Последнее редактирование: 10 мар 2020
  14. Пишет, что «Неудалось проверить имя пользователя».Плагины не ставил, играю на пиратской версии

  15. Что пишет? Куда пишет? Где пишет? О чем речь?
    Я, конечно, понимаю, но не понимаю. Понимаешь? Непонятная ситуция.

  16. Сделал по инструкции все до установки плагинов, соотвественно все было чисто, после того, как я запустил батник, и вышла соответствющая надпись
    [10:27:00] [Server thread/INFO]: Done (35.722s)! For help, type «help»
    [10:27:00] [Server thread/INFO]: Timings Reset
    После чего по адресу localhost я пытался зайти на сервер, было 20 слотов.Вышло следующее :
    «Шифрование»
    «Не удалось проверить имя пользователя»
    В логах писалось:
    [10:30:13] [User Authenticator #1/INFO]: Disconnecting /127.0.0.1:49910: Failed to verify username!
    [10:30:13] [Server thread/INFO]: /127.0.0.1:49910 lost connection: Disconnected
    [10:30:13] [User Authenticator #1/ERROR]: Username ‘ProstoyKhan’ tried to join with an invalid session
    До этого в логах никаких ошибок не было.

  17. p.s.s Если делаем пиратский сервер, то в файле «server.properties» изменяем «online-mode=true» на «online-mode=false».
    

    @Honor_MineDev
    У вас стоит online-mode=false ?

  18. Благодарю, не заметил из-за невзрачности.

Страница 1 из 3

Поделиться этой страницей


Rubukkit - свой сервер Minecraft

Настройте свой виртуальный мир, чтобы играть вместе с друзьями.

Как создать сервер Minecraft: пошаговая инструкция

Как создать сервер Minecraft на собственном компьютере

Этот способ хорош тем, что доступен бесплатно всем обладателям Minecraft. Кроме того, вы даже сможете устанавливать на свой сервер любые фанатские моды.

С другой стороны, придётся потратить некоторое время на настройку. Сервер будет активен только тогда, когда работает ваш ПК. А скорость игры — зависеть от мощности компьютера.

Как создать сервер чистой версии Minecraft без модов

Скачайте с официального сайта и установите последнюю версию Java. Без этого бесплатного приложения сервер может не работать.

Если у вас ещё нет Minecraft: Java Edition, скачайте игру с сайта разработчика и установите на компьютер. Она стоит 1 900 рублей.

Запустите Minecraft и войдите в свой аккаунт или, если его ещё нет, зарегистрируйтесь. После этого загрузите мир игры и сразу закройте её.

Создайте на компьютере папку с названием Minecraft Server.

Скачайте официальный сервер в виде файла server.jar, скопируйте его в Minecraft Server и запустите. После этого в папке появятся дополнительные файлы.

Отредактируйте документ с названием eula.txt. Для этого откройте его в блокноте, найдите параметр eula=false и замените false на true. Сохраните файл и закройте его.

Теперь отредактируйте файл с названием server.properties. Найдите в нём параметр online-mode=true и замените true на false.

Снова запустите файл server.jar. Откроется консоль, которая будет отображать состояние сервера. Пока она открыта, сервер будет работать и к нему смогут подключаться игроки.

Как создать сервер Minecraft с модами

Установите клиент Minecraft и добавьте в него моды с помощью приложения Forge. Как это сделать, читайте в инструкции Лайфхакера.

Создайте на компьютере папку с названием Minecraft Forge Server.

Снова запустите приложение Forge, но на этот раз установите сервер. В качестве целевого места выберите папку, созданную на предыдущем шаге.

Запустите файл forge-1.15.2-31.2.0.jar (цифры в названии у вас могут быть другими) в папке Minecraft Forge Server. В результате рядом с ним появятся другие элементы сервера.

Отредактируйте файл eula.txt. Откройте его в блокноте, найдите параметр eula=false и замените false на true. Сохраните файл и закройте его.

Отредактируйте файл server.properties. Найдите в нём параметр online-mode=true и замените true на false. Сохраните документ и закройте.

Откройте папку mods в директории с клиентом Minecraft: для этого воспользуйтесь клавишами Win + R, введите %appdata%.minecraft и нажмите Enter. Отправьте все присутствующие здесь файлы модификаций другим игрокам и попросите каждого переместить эти моды в такую же папку на своих ПК.

Теперь скопируйте те же файлы модификаций из папки mods в другую директорию с таким же названием, которая находится в папке Minecraft Forge Server. Другим игрокам этого делать не нужно.

Снова запустите сервер с помощью файла forge-1.15.2-31.2.0.jar (цифры у вас могут отличаться). Откроется консоль, которая будет отображать состояние сервера. Пока она открыта, сервер будет работать и к нему смогут подключаться игроки.

Как подключиться к серверу Minecraft

Чтобы подключиться с других компьютеров по локальной сети или с того же ПК, на котором установлен сервер, сделайте следующее. Запустите Minecraft, выберите «Сетевая игра» → «Добавить». В поле «Адрес сервера» введите localhost и нажмите «Готово». Когда в списке отобразится новый сервер, выделите его и кликните «Подключиться».

Чтобы подключиться по интернету, сначала на компьютере с сервером нужно разрешить Minecraft использовать сетевой порт 25565. Имейте в виду: это откроет лазейку, из-за которой злоумышленникам будет проще получить удалённый доступ к компьютеру. Но иначе ваш сервер не заработает для других игроков.

Открыть порты можно в настройках роутера. Для этого нужно ввести в браузере 192.168.0.1 или другой адрес, указанный на нижней панели маршрутизатора. Там же можно увидеть логин и пароль, которые потребуются для входа.

К сожалению, меню роутеров существенно различаются в зависимости от модели и производителя. Универсальной инструкции не существует. Но всю необходимую информацию для своего устройства вы можете сами найти в интернете. Просто введите в поисковике запрос «как открыть порты в роутере» и добавьте название производителя или модели. Также можете использовать запросы «как перенаправить порт» или «как пробросить порт». Это всё одно и то же.

Для примера покажем, как открыть порт 25565 в настройках роутера ZyXEL. Нужно перейти в раздел «Домашняя сеть» → «Серверы», активировать функцию «Перенаправление портов» и добавить новое правило. В качестве IP-адреса указать локальный IP компьютера, а в пункте «Порты» ввести 25565. Затем ввести в описании Minecraft для удобства и сохранить правило.

Когда откроете порт, игроки смогут подключаться к вашему серверу через интернет. Для этого каждый из них должен запустить Minecraft на своём ПК, выбрать «Сетевая игра» → «Добавить». Если подключаетесь к чистой версии, в лаунчере следует выбирать «Последняя версия» или просто Minecraft. Если к модифицированной, запускайте вместо неё Forge.

В поле «Адрес сервера» нужно ввести публичный IP вашего компьютера, добавить к нему :25565 (через двоеточие) и нажать «Готово».

Когда в списке отобразится новый сервер, нужно выделить его и кликнуть «Подключиться».

Как настроить сервер Minecraft

Вы можете менять уровень сложности, максимальное количество игроков и другие параметры сервера.

Для этого откройте в блокноте или другом текстовом редакторе файл server.properties. Затем укажите подходящие значения после знака «=» рядом с теми параметрами, которые хотите изменить. Описания настроек приведены в этой таблице.

Как получить готовый удалённый сервер Minecraft

Если вы не хотите тратить время на настройку, можете воспользоваться уже готовыми серверами. Для этого разработчики встроили в игру сервис Minecraft Realms. Он позволяет быстро создавать игровые миры и приглашать в них выбранных друзей. Серверы Realms работают в облаке и не зависят от мощности ПК, а игроки могут присоединяться, даже если создатель отключился от интернета.

Но у этого решения есть и недостатки. Сервис платный: хотя игроки могут подключаться к создателю безвозмездно, он обязан отдавать чуть больше 7 евро каждый месяц. Кроме того, серверы Minecraft Realms не поддерживают фанатские модификации.

Чтобы попробовать сервис, нужно оплатить подписку и выбрать Minecraft Realms в главном меню игры.

Этот материал впервые был опубликован в апреле 2019 года. В июне 2020-го мы обновили текст.

Читайте также 🎮

  • 15 неочевидных советов для новичков в Animal Crossing: New Horizons
  • 10 бесплатных игр на ПК, которые надолго увлекут вас
  • 10 лучших градостроительных симуляторов для разных платформ
  • «Клуб романтики»: в чём феномен одной из популярнейших мобильных игр
  • Где скачать моды для Minecraft: 5 удобных сайтов




Обновлено: 22 Март 2021 в 14:48

DayZ

+ Содержание

  1. Установка
  2. Полезные программы
  3. Настройка
    1. Создание и настройка батника для запуска
      1. Код для «батника»
    2. Настройка serverDZ.cfg
      1. Код
    3. Готовые файлы с кодом
  4. Как зайти на свой сервер
  5. Установка модов на примере админки
    1. Управление админкой
  6. Заключение

Спустя сотни часов игра надоедает, и многие хотят попробовать что-то новое. Один из вариантов – создать свой сервер для тестов и веселья с друзьями, либо открыть полноценный игровой проект. Для этого потребуется установить и настроить сервер. В статье будет подробно описано, как это сделать.

Установка

Конкретно сама установка сервера безумно простая и занимает мало времени. Заходим в библиотеку Steam и выбираем раздел «Инструменты», где находим DayZ Server и запускаем скачивание. Сервер крайне желательно скачивать на путь, в котором нет русских букв. Для этого можно создать библиотеку на другом диске, либо перенести сервер вручную после установки путём «копировать – вставить».

Не забывайте, что игра периодически обновляется, потому в один прекрасный момент она может перезаписать ваши изменённые серверные файлы. Обязательно делайте резервные копии после установки.

DayZ Server

Установка DayZ Server

Полезные программы

Пока сервер скачивается, можно установить несколько программ, которые облегчат вашу работу в дальнейшем.

  • Notepad++ — удобное средство редактирования файлов, где подсвечивается синтаксис и указываются строки. Все манипуляции проще производить именно через него. Открывается путём нажатия правой кнопкой мыши по файлу — открыть в Notepad++.
  • PBO Manager – программа, позволяющая распаковывать и запаковывать файлы Богемии. Требуется редко, но метко.

Настройка

Настройка займёт гораздо более продолжительное время и требует хотя бы минимального знания английского и навыков работы с компьютером. Если ангельский вы не знаете – это гиблое дело. Тем, кто работал с серверными файлами Армы 2 и 3, будет гораздо проще, поскольку эти игры максимально унифицированы.

Создание и настройка батника для запуска

  1. Переходим в корневую папку сервера. Проще всего это сделать прямо из Стима нажатием ПКМ по серверу – управление – посмотреть локальные файлы. Сразу создайте ярлык папки сервера на рабочем столе, чтобы в дальнейшем быстро туда переходить.
    Как попасть в папку сервера Можно создать ярлык для рабочего стола
  2. В корневой папке создаём текстовый документ обычным блокнотом, куда вставляем код, который будет ниже. Далее, нужно его настроить под вас. В строке «serverLocation=» укажите путь к вашей папке с сервером. В строке «serverCPU=» укажите число ваших физических ядер процессора, тогда он будет работать чуточку лучше. Нажимаем «Сохранить как» и обязательно «Тип файла» ставим как «Все файлы» и прописываем расширение .bat после названия. Название желательно использовать тоже английское, например start.bat. Сохраняем, создаём ярлык на рабочем столе. Теперь чтобы запустить сервер, достаточно два раза кликнуть по ярлыку, или самому батнику. Создайте "батник" для запуска сервера и ярлык самого батника на рабочем столе Создание "батника"

Код для «батника»

@echo off
:start
::Server name
set serverName=DayZ Test Server
::Server files location
set serverLocation="D:GamesSteamLibrarysteamappscommonDayZServer"
::Server Port
set serverPort=2302
::Server config
set serverConfig=serverDZ.cfg
::Logical CPU cores to use (Equal or less than available)
set serverCPU=4
::Sets title for terminal (DONT edit)
title %serverName% batch
::DayZServer location (DONT edit)
cd "%serverLocation%"
echo (%time%) %serverName% started.
::Launch parameters (edit end: -config=|-port=|-profiles=|-doLogs|-adminLog|-netLog|-freezeCheck|-filePatching|-BEpath=|-cpuCount=)
start "DayZ Server" /min "DayZServer_x64.exe" -config=%serverConfig% -port=%serverPort% -profiles=profiles -cpuCount=%serverCPU% -dologs -adminlog -netlog -freezecheck
::Time in seconds before kill server process (14400 = 4 hours)
timeout 14390
taskkill /im DayZServer_x64.exe /F
::Time in seconds to wait before..
timeout 10
::Go back to the top and repeat the whole cycle again
goto start

Настройка serverDZ.cfg

Этот файл является ключевым, в котором указываются все основные настройки сервера. Ниже вы можете увидеть строки с пояснениями на русском, за что они именно отвечают. Потратьте минут 5-10 и выставите всё по вашему усмотрению, чтобы потом не возвращаться к этому. Если не понимаете какой-то параметр, лучше не трогайте.

Код

hostname = "DayZ Test Server"; // Имя сервера
password = ""; // Пароль для подключения к серверу
passwordAdmin = ""; // Пароль для админки
enableWhitelist = 0; // Включить/выключить вайтлист (значение 1-0)
maxPlayers = 60; // Максимальное количество игроков
verifySignatures = 2; // Проверять ли .pbo файлы игроков (доступно значение 0 и 2)
forceSameBuild = 1; // Проверка соответствия файлов .exe игроков
disableVoN = 0; // Включить/выключить голосовой чат
vonCodecQuality = 15; // Качество кодека голосового чата (значение 0-30)
disable3rdPerson=0; // Включить/выключить вид от 3-го лица
disableCrosshair=0; // Включить/выключить перекрестье прицела
disablePersonalLight = 1; // Отключить персональные настройки света для игроков
lightingConfig = 0; // 0 - светлая ночь, 1 - тёмная
serverTime="SystemTime"; // Игровое время при старте сервера. SystemTime - время с вашего компьютера, StaticTime - постоянное время. Если вы хотите поставить конкретное время, можете его написать в формате ГГГГ/ММ/ДД/ЧЧ/ММ, например 2021/3/19/7/35
serverTimeAcceleration=12; // Ускорение времени (Значение от 0 до 24)
serverNightTimeAcceleration=1; // Ускорение ночного времени (значение от 0.1 до 64)
serverTimePersistent=0; // Сохранение времени сервера при отключении. Значение (1-0)
guaranteedUpdates=1; // Лучше не трогать, непонятный протокол
loginQueueConcurrentPlayers=5; // Количество игроков, которые могут одновременно подключаться к серверу. Лучше поставить побольше, иначе после рестарта другим не будет давать подключиться
loginQueueMaxPlayers=500; // Максимальное количество игроков в очереди
instanceId = 1; // ID игрового инстанса
storeHouseStateDisabled = false; // Выключить сохранение открытых/закрытых дверей в домах (видимо, имеются в виду текстурные постройки)
storageAutoFix = 1; // Проверять файлы на ошибки и автоматически исправлять их (скорее всего работа с базой данных)

class Missions
{
class DayZ
{
template="dayzOffline.chernarusplus"; // Тип миссии для загрузки сервера. dayzOffline.chernarusplus - Черноруссия, dayzOffline.enoch - Ливония
};
};

Готовые файлы с кодом

Скачать архив, распаковать, отредактировать под себя.

Как зайти на свой сервер

Сначала запустите его и дождитесь полной загрузки, затем существует два способа:

  1. В лаунчере в настройках выставить IP 127.0.0.1 (стандартный локальный IP) и порт 2302 (серверный порт для DayZ и Arma по умолчанию) и нажать «Играть»
    Настройки в лаунчере игры
  2. Зайти в игру и во вкладке ЛВС обнаружить свой сервер.
    Обнаружить свой сервер в игре

Установка модов на примере админки

Попробуем установить админку, чтобы понять принцип установки модов.

  1. Переходим в Мастерскую DayZ прямо из страницы в библиотеке. Находим мод «Community Online Tools» и подписываемся на него вместе с модом CF, который требуется для его работы.
    Перейдите в мастерскую Steam
    Community Online Tools мод
    Установка мода
  2. После скачивания, открываем папку с игрой (можно тоже через «Стим → Управление → Посмотреть локальные файлы»), переходим в папку «Workshop», где видим два наших мода. Копируем и вставляем их в корневую папку нашего сервера.
    Папка Workshop Моды скопировать и вставить в папку сервера
  3. Открываем наш батник и вписываем прямо в параметры запуска после «port» строку «-mod=@CF;@Community-Online-Tools;». Кавычки обязательно ставим, как это показано на скриншоте.
    Как вставить строку в "батник"
  4. В папке мода есть папка «Keys». Из неё надо скопировать ключ в папку «Keys» в корне нашего сервера.
    Скопируйте ключ

Установка завершена, теперь сервер будет запускать ваши моды при запуске. Около 95% модов устанавливаются банальным вписыванием в параметры запуска очередного мода через запятую по типу «-mod=@Mod1;@Mod2;@Mod3;»

В нашем случае требуется ещё вписать вас в админку, чтобы вы могли ей пользоваться. Запускаем батник, сервер стартует. Ждём окончательной загрузки и заходим. После первого запуска сервера у вас появится папка «Profiles». Выключаем сервер и идём по пути «profilesPermissionsFrameworkPlayers», где появится файл с вашим UID. Заходим в него и меняем роль «everyone» на «admin». Сохраняем, перезапускаем сервер и у вас появился доступ к админке.

Пропишите себя в админку

Управление админкой

  • END – активировать админку;
  • Y – открыть меню;
  • H – телепортация по взгляду;
  • Insert – полёт камерой

Админка

Заключение

Установка сервера DayZ довольно несложная. Потратьте час свободного времени на изучение этой инструкции и установку с настройкой, и у вас обязательно всё получится.

Автор гайда: oxide35

Понравилась статья? Поделить с друзьями:
  • Блок контейнер своими руками пошаговая инструкция
  • Какой алгоритм позволяет организовать многократное исполнение определенного набора инструкций
  • Тех руководство toyota avensis
  • Как измерять давление ручным тонометром инструкция
  • Папаверина гидрохлорид суппозитории ректальные инструкция по применению