Как сделать сервер на хосте своего компьютера

Обновлено: 04.07.2024

Для кого предназначена эта статья: новичкам сайтостроителям посвящается, статья познакомит с основами настройки веб-сервера, на примере сервиса Apache, также мы установим на локальной машине PHP, что в связке с Apache представляет мощный и современный комплекс для разработки сайтов любой сложности.

Сначала небольшое вступление. Замечу что, в свое время, отсутствие простой и понятной новичкам информации, по казалось бы элементарным вещам, частенько ставило меня в тупик, будь то изучение языков программирования или администрирование серверов. Дам простой совет, никогда не начинайте изучать детали, пока не уложили в голове общую картину предмета. Например, не старайтесь изучить особенности поведения какого нибудь тега в HTML, пока не уясните что такое "HTML" в принципе (теперь без запинки произнесите расшифровку аббревиатуры и вдумайтесь в каждое слово).

И так, что такое web-server. В общем все просто, это может быть обычный компьютер, имеющий сетевую карту и подключенный к сети интернет. Единственное отличие "сервера" от вашего компьютера (уверен он у вас подключен к интернету), это то что на этом компьютере установлена специальная программа, которая посылает ответы всем другим компьютерам "клиентам", каждый раз когда клиенты запрашивают с него данные специальным образом.

Что значить "запросить данные" = "запрос". Рассмотрим на примере работы одного из сайтов, например, "ya.ru". Для начала разберемся что физически представляет из себя этот "ya.ru". Для начала запустим командную строку - пуск - выполнить - "cmd" и пропингуем сайт (ввести "ping ya.ru"), на что мы получим ответ от одного из серверов Яндекс вида:

Ясно что в каком-то населенном пункте (который, к слову, можно выяснить по IP через какой-нибудь открытый сервис), стоит абсолютно материальная машина, имеющая как минимум одну сетевую карту, карта имеет IP-адрес 213.180.204.3. С нашего компьютера был послан "запрос" программой "ping.exe" к этому серверу, через 71 миллисекунду программа ping получила ответ от сервера Яндекс, о чем и сообщила нам на экране.


Если вы только знакомитесь с принципами работы WEB, то у вас может возникнуть вопрос, как полученные кракозябры в telnet связан с сайтом который мы видим в браузере. Все очень просто, это "внутренность" главной страницы ya.ru, которую браузер представляет нам уже во вполне понятном виде. Убедимся в этом - откроем в браузере сайт ya.ru - правой - "исходный код страницы" - видим что это действительно так:

Теперь мы имеем представление о работе механизма клиент-сервер по протоколу HTTP и подошли вплотную к нашей цели. Наш компьютер должен уметь отвечать на запросы, которые шлют ему клиенты по сети, по протоколу HTTP, на порт 80. Для этого необходимо установить на нашем ПК программу, которая умеет это делать, мы будем ставить программу (она же web-сервер) "Apache". Замечу что это не единственный веб-сервер, есть поклонники windows IIS или nginx и т.п.

Краткое описание компонент

Для простого сайта без авторизации, достаточно поставить только Apache, если же надо реализовать авторизацию - без PHP уже не обойтись. Установку производим в обратном порядке - MySQL, затем PHP, затем Apache, затем запускаем web-server, делаем тестовую страничку и проверяем работу сервера "извне".

Установка MySQL

  1. Приступаем к установке. Нажмите в данном окне выборочную установку компонентов "Custom".
  2. Здесь вы можете выбрать дополнительные компоненты и сменить установочную директорию программы.
  3. Теперь приступим к настройке MySQL сервера.
  4. Выбираем детализированную настройку - "Detailed Configuration".
  5. Отмечаем пункт "Developer Machine".
  6. Выбрав пункт "Multifunctional Database", вы сможете работать как с таблицами типа InnoDB (с возможностью использования транзакций), так и с высокоскоростной MyISAM (как правило для веб-разработок используется именно этот тип таблиц).
  7. Выбор диска и директории для хранения таблиц типа InnoDB.
  8. В данном диалоговом окне выбирается максимально возможное количество подключений к серверу MySQL. При выборе "Decision Support (DSS)/OLAP", максимальное количество подключений будет ограничено двадцатью, чего более чем достаточно при установке сервера на домашнем компьютере и отсутствии большого количества одновременных подключений.
  9. Отметив "Enable TCP/IP Networking" мы включаем поддержку TCP/IP соединений и выбираем порт, через который они будут осуществляться. Стандартным для сервера MySQL является порт 3306. Отметив "Enable Strict Mode", мы задаем режим строгого соответствия стандарту SQL (данную опцию рекомендуется оставлять включенной).
  10. Обратите внимание на выставление настроек данного окна. Отметив "Manual Selected Default Character Set / Collation" и выбрав из ниспадающего меню "cp1251" определяем, что изначально для таблиц будет использоваться кодировка Cyrillic Windows (cp1251), что означает корректную работу с русским языком в данной кодировке.
  11. Если отметить "Install As Windows Service", сервер будет запускаться в виде сервиса, что является рекомендуемым способом запуска. Ниже, в ниспадающем списке, задается имя сервиса. Далее, уберите галочку рядом с "Launch the MySQL Server automatically" - мы будем запускать сервер вручную. Также поставьте галочку рядом с "Include Bin Directory in Windows PATH" - это позволит установить видимость директории "bin", для командной строки.
  12. Установите пароль пользователя "root". Советую сделать это. Поставьте хотя бы какой-нибудь простенький пароль, только не оставляйте поле пустым, это убережёт вас от возможных неприятностей в дальнейшем.
  13. В данном окне обратите внимание на строку "Write configuration file", которая указывает на месторасположение конфигурационного файла MySQL - "my.ini", далее, его необходимо будет немного отредактировать.
  14. Откройте для редактирования файл "my.ini".
    1. В раздел [client], после строки:
      port=3306
      Добавьте строку определяющую каталог содержащий файлы описания кодировок:
      character-sets-dir="C:/Program Files/MySQL/MySQL Server 5.5/share/charsets"
    2. В раздел [mysqld], после строки:
      port=3306
      Добавьте следующие две строки, первая из которых вам уже известна, вторая – устанавливает кодировку в которой данные передаются MySQL:
      character-sets-dir="C:/Program Files/MySQL/MySQL Server 5.5/share/charsets"
      init-connect="SET NAMES cp1251"
    3. Далее, найдите строку:
      default-storage-engine=INNODB
      Замените изначально устанавливаемый тип таблиц на MYISAM:
      default-storage-engine=MYISAM

    Установка PHP

        , обратите внимание что нам нужен 'VC9 x86 Thread Safe' вариант.

        Распакуйте архив в желаемый каталог (изначально предлагается "C:\php"). Откройте конфигурационный файл содержащий рекомендуемые настройки - "php.ini-development" (находящийся в корне дистрибутива), переименуйте его в php.ini и произведите следующие изменения.

      1. Найдите строку:
        post_max_size = 8M
        Увеличьте до 16 Мбайт максимальный размер данных принимаемых методом POST, изменив ее на:
        post_max_size = 16M
      2. Найдите строку:
        ;include_path = ".;c:\php\includes"
        Раскомментируйте ее, убрав перед строкой символ точки с запятой.
        (Внимание исключение! Обратные косые черты при указании пути):
        include_path = ".;c:\php\includes"
        Создайте пустой каталог "C:\php\includes", для хранения подключаемых классов.
      3. Найдите строку:
        extension_dir = "./"
        Установите значением данной директивы путь к папке с расширениями:
        extension_dir = "C:/php/ext"
      4. Найдите строку:
        ;upload_tmp_dir =
        Раскомментируйте ее и укажите в значении следующий путь:
        upload_tmp_dir = "C:/php/upload"
        Создайте пустую папку "C:\php\upload", для хранения временных файлов загружаемых через HTTP.
      5. Найдите строку:
        upload_max_filesize = 2M
        Увеличьте максимально допустимый размер загружаемых файлов до 16 Мбайт:
        upload_max_filesize = 16M
      6. Подключите, расскомментировав, данные библиотеки расширений:
        extension=php_bz2.dll
        extension=php_curl.dll
        extension=php_gd2.dll
        extension=php_mbstring.dll
        extension=php_mysql.dll
        extension=php_mysqli.dll
      7. Найдите строку:
        ;date.timezone =
        Раскомментируйте и установите значением часовой пояс вашего местоположения (список часовых поясов можно найти в документации):
        date.timezone = "Europe/Moscow"
      8. Найдите строку:
        ;session.save_path = "/tmp"
        Раскомментируйте и установите значением данной директивы такой путь:
        session.save_path = "C:/php/tmp"
        Создайте пустую папку "C:\php\tmp" для хранения временных файлов сессий.
      9. Сохраните изменения и закройте файл php.ini.

      php_bz2.dll – С помощью данного расширения PHP сможет создавать и распаковывать архивы в формате bzip2.

      php_curl.dll – Очень важная и нужная библиотека, позволяющая соединяться и работать с серверами, с помощью огромного количества интернет-протоколов.

      php_gd2.dll – Ещё одна незаменимая библиотека, позволяющая работать с графикой. Вы думали на PHP можно только HTML странички генерировать? А вот и нет! С помощью PHP можно почти всё, в том числе и рисовать.

      php_mbstring.dll – Библиотека содержит функции для работы с много-байтными кодировками, к которым относятся кодировки восточных языков (японский, китайский, корейский), Юникод (UTF-8) и другие.

      php_mysql.dll – Имя библиотеки говорит само за себя - она необходима для работы с сервером MySQL.

      php_mysqli.dll – Данная библиотека является расширением предыдущей и содержит дополнительные функции PHP для работы с сервером MySQL версии 4.1.3 и выше.

      Установка Apache

      1. Существующие блоки примеров виртуальных хостов необходимо удалить, и вставить только нижеследующее:

        DocumentRoot "C:/apache/localhost/www"
        ServerName localhost
        ErrorLog "C:/apache/localhost/error.log"
        CustomLog "C:/apache/localhost/access.log" common
      2. Сохраните изменения и закройте файл "httpd-vhosts.conf"

      Проверка работы сервера


      Сохраните и закройте файл, затем смените ему расширение, чтобы получилось 'index.html'.

      Результат работы Apache

      Пришло время проверить работоспособность нашего web-сервера. Заходим в браузер и делаем HTTP запрос на свой ПК, а именно, в поле "адрес" пишем вместо названия сайта свой локальный IP адрес (например у вас он может быть 192.168.0.1), а можно просто написать "localhost".

      Наш web-сервер ответил на запрос и выдал нам нашу первую страничку.

      Проверка работы PHP

      Для проверки php необходимо сделать следующее:

      Результат работы Apache

      1. Во первых удалите index.html, вместо него создайте текстовый файл index.txt следующего содержания:
      2. Переименуйте index.txt в index.php (обратите внимание на расширение!).
      3. Проверьте страничку запросив ее с сервера по адресу localhost.

      Дополнительные настройки

      Создание структуры каталогов виртуальных хостов

      В корне диска необходимо создать каталог "apache" - в нем будут лежать ваши виртуальные хосты (домены), глобальный файл журнала ошибок "error.log" (создается программой при первом запуске, автоматически), глобальный файл доступа "access.log" (создается автоматически). В каталоге "apache" создаем еще одну пустую папку - "localhost", в которой, в свою очередь, создаем папку "www", именно в последней и надо будет держать наше добро в виде локальных скриптов. Такая, казалось бы странная структура каталогов, продиктована схожей схемой построения каталогов в системах Unix, и призвана упростить в дальнейшем ее понимание и использование.

      Пример создания виртуального хоста
      При необходимости установки собственных виртуальных хостов сделайте следующее:

      Затем в каталоге "apache", создайте папку "test.ru" (прямо так, с точкой), в которой, в свою очередь, создайте папку "www".

      Теперь запустите сервер Apache выполнив в командной строке "C:\Apache2\bin\httpd.exe -k start", откройте браузер, введите в адресной строке "test.ru" или "www.test.ru" и вы окажетесь в своем виртуальном хосте. Только будьте внимательны, теперь вы сможете попасть на оригинальный сайт с именем виртуального хоста ("www.test.ru", если таковой существует), только закомментировав либо удалив строку: "127.0.0.1 www.test.ru", в вышеупомянутом файле "hosts".

      Остановить работу Apache можно выполнив в командной строке "C:\Apache2\bin\httpd.exe -k stop". При необходимости перезагрузить Apache, выполните в командной строке "C:\Apache2\bin\httpd.exe -k restart".

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

      Как сделать свой сервер для сайта

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

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

      • Статический IP. Это зависит от провайдера, как правило, они требуют за статический IP-адрес денег.
      • Хорошая скорость. Минимально допустимая скорость - это 10mbps. Могу смело сказать, что такая скорость на данный момент - это редкость даже для Москвы, я уже молчу про регионы, где ещё часто сидят на модемах. А вообще нормой является 100mbps, которая имеется лишь у единиц, и стоит даже в Москве очень и очень дорого.

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

      Но для тех, кто не хочет доверять обслуживание сервера другим лицам и у кого выполняются оба требования, для тех я напишу, что необходимо сделать:

      Если Вы хотите, чтобы сайт был доступен не только по IP, но и по домену, то тогда нужно поднимать DNS.

      Также можно установить ещё PHP и MySQL, а также PHPMyAdmin. Если планируете иметь доступ с другого компьютера, то потребуется и FTP-сервер.

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

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


      Если Вы не хотите пропустить новые материалы на сайте,
      то Вы можете подписаться на обновления: Подписаться на обновления

      Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

      Порекомендуйте эту статью друзьям:

      Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

      Она выглядит вот так:

      Комментарии ( 23 ):

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

      На хостинге тоже могут быть проблемы. Надо просто делать резервную копию и всё

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

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

      Да, выделенный сервер нужен для больших нагрузок.

      А ваш сайт на каком сервере?Сколько посетителей выдержит

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

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

      Не пишите теги заглавными буквами. И используйте такой doctype:

      А после установки apache, можно воспользоваться компьютерам в других целях. (У меня просто Windows 10)

      Здраствуйте, Михаил! Как можно сделать постраничную навигацию, чтобы на экране появились название, картинки видеороликов, и потом внутри картинки были код видеороликов.Как это реализовать, какой запрос нужно написать?

      Совершенно не ясен вопрос.

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

      Вы обещали кинуть видео где расскажете о вашем новом сервере.

      Здравствуйте Кирилл, если и обещалось, то сделано будет, времени на все не хватает, ожидайте.

      а что, 10Mb/s это предел мечтаний? =) У меня вот например дома канал 100Mb/s в обе стороны, полный безлимит. И стоит он всего $20 в месяц. Хотя конечно для коммерческих целей этот же канал будет стоить в 10 раз дороже + оплата биллинга, но и то это не страшно =)

      Случайно нашел эту статью, по-этому могу не в тему написать и неверно поставить вопрос, но все же) У меня такой вопрос, может кто-то подсказать (вопрос может быть не корректным с профессиональной точки зрения) Цель: обеспечить комфортное нахождение на сайте 50 тыс пользователей единовременно Вопрос: как организавать серверное оборудование и какое оно должно быть, сколько, чтобы обеспечить данную цель? P.S. Серверы мы будем покупать собственные, и размещать в дата центре

      Здравствуйте. Такая вот проблема. Если я сделал свой веб сервер, как создать свой домен DNS?

      Михаил здравствуйте , Понимаю вопрос возможно глупый . Но извините я в этой сфере совершенно не силен и только начинаю ее осваивать . Вот что именно меня интересует . Если я к примеру захочу запустить кино сайт могу ли я поставить в дата центр обычный персональный ПК и использовать его в качестве сервера , там будет и сайт и сами файлы . Если да то какую желательно делать характеристику этого пк . Точнее что и сколько может понадобиться ? Сколько ОЗУ , Какой процессор и т.д . Просто в моей стране самый дешевый сервер что я нашел стоит 6000$ а зарплата в стране среднестатистическая (100$ , у меня 300$ ) . Извините если вопрос очень глупый но уж больно важный для меня . Заранее большое спасибо за ответ .

      Соавтор(ы): Travis Boylls. Трэвис Бойллз — автор и редактор, пишущий о технологиях для wikiHow. Имеет опыт в написании статей на технические темы, оказании компьютерной технической поддержки и графическом дизайне. Специализируется на Windows, macOS, Android, iOS и Linux. Изучал графический дизайн в Муниципальном колледже Пайкс-Пик.

      Лауреат семи игровых премий, видео-игра Minecraft была разработана Маркусом Персонном в 2009 и выпущена в качестве полноценной компьютерной игры в 2011. Доступная также для Macintosh, Xbox 360 и Playstation 3, Minecraft стала мировой игрой, в которую можно играть и в одиночку, и несколькими игроками. Однако, чтобы играть в нее несколькими игроками, вам нужно арендовать или настроить и поддерживать сервер. Хостинг сервера требует скачивания и установки специального файла на компьютере сервера, а затем подключения к этому серверу. Следующие шаги описывают особенности хостинга сервера Minecraft для операционных систем Windows и Mac.

      Изображение с названием Host a Minecraft Server Step 1

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

      Изображение с названием Host a Minecraft Server Step 2

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

      Данная статья знакомит читателя с особенностями работы чистого (без модификаций) сервера Minecraft текущей версии. В отличие от клиента, распространяется бесплатно через официальный сайт игры и работает со всеми версиями клиента (пиратской и официальной). Информация в этой статье была приведена в соответствие с версией 1.15.2.

      Содержание

      Подготовка к работе

      Загрузка необходимого ПО

      Для работы сервера требуется установить на Ваш ПК пакет Java. Его можно скачать на этой странице. Но если клиент Minecraft запускается, то это индикатор того, что данный пакет уже установлен на компьютер. (Теперь minecraft можно установить через установщик, который сам скачивает для себя Java. В этом случае вам все равно нужно установить Java.)

      Для того чтобы скачать сервер, требуется перейти на страницу загрузки официального сайта. Нажмите на соответствующую ссылку и сохраните файл в отдельной директории, которая будет основной для Вашего сервера. При создании сервера на Linux или OS X основной директорией сервера является рабочая директория; используйте команду cd /путь/до/сервера/ .

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

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

      Когда загруженный файл оказался в будущей папке сервера, запустите его и подождите, пока закончится процесс генерации уровня. Вы увидите, что в Вашей папке появилось несколько новых файлов и подпапок.

      Рассмотрим файл server.properties. Данный файл содержит в себе все основные параметры сервера. Откройте этот файл при помощи любого текстового редактора. Вы увидите примерно такое содержимое:

      Описание параметров

      averageTickTime — среднее время на совершение одного тика (в миллисекундах),

      tickTimes — время cовершения порядка 100 последних тиков (в наносекундах).

      Чтобы включить выполнение JMX в Java, необходимо задать соответствующие флаги запуска JVM. Более подробно описано в этой документации

      Если значение установлено на false, то в меню сетевой игры работающий сервер будет отображаться как "оффлайн", однако также сможет принимать подключения игроков.

      Это настройка выражается в процентах (100% — по умолчанию). Например, установка этого значения на 50 уменьшит дальность рендера энтити вдвое. Представляет собой серверный аналог изменения прорисовки у клиента.

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

      Когда эта опция включена, сервер кикнет игрока только после того, как автоматически перезагрузит вайтлист для поиска изменений.

      false - Игроки не будут отключены от сервера, если их нет в вайтлисте. true - Игроки будут отключены от сервера, если их нет в вайтлисте.

      Требуется проверка перевода.

      • Если указан радиус в 1000 блоков, то вы получите рабочее пространство 2000 х 2000 блоков.
      • Если указан радиус в 4000 блоков, то вы получите рабочее пространство 8000 х 8000 блоков.

      Примечание: интернет требует, чтобы пакеты размером менее 64 байтов дополнялись до 64 байтов. Таким образом, установка значения ниже 64 может быть нецелесообразной. Также не рекомендуется превышать 1500 байт.

      -1 - полностью отключить сторожевой таймер (эта опция была добавлена в 14w32a)

      Непосредственно перед началом игры на сервере вы можете настроить указанные выше параметры сервера.

      • Поле server-ip лучше всего оставить пустым — игра сама определит и настроит данный параметр. Но если вы хотите присвоить серверу особый IP-адрес, то можете изменить этот параметр.
      • Поле gamemode указывает на игровой режим, который автоматически будет включен всем игрокам, зашедшим на сервер. Игровой режим для конкретного игрока можно сменить во время работы.
      • Если вы включили white-list, сделайте себя оператором или добавьте себя в белый список.
      • При заполнении поля max-build-height неподходящим числом сервер автоматически подбирает ближайшее число, возможное для использования.

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

      Настройка подключения к серверу

      Стоит отметить, что на сервере могут одновременно играть игроки как из локальной сети, так и из сети Интернет.

      Подключение к собственному серверу

      Если вы держите сервер на том же компьютере, на котором собираетесь играть, для подключения достаточно ввести адрес 127.0.0.1 или localhost . Этот адрес задействует виртуальный сетевой интерфейс (loopback), который доступен всегда, даже если у компьютера нет сетевой карты.

      Если вы не можете подключиться даже через петлевой интерфейс, это повод проверить настройки антивируса и файерволла. Добавьте в исключения Minecraft Server и порт 25565.

      Сервер в локальной сети

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

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

      Подключение к локальному серверу

      Чтобы игроки смогли подключится к вашему серверу, их компьютеры должны быть объединены с компьютером-сервером по локальной сети (LAN). В строке ввода IP-адреса сервера они должны написать внутренний IP-адрес компьютера, на котором создан сервер. Локальный IP-адрес желательно должен быть статическим (быть прописанным в настройках сетевого подключения вручную) или привязанным к MAC-адресу.

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

      Определение внутреннего IP-адреса


      Определение внутреннего IP-адреса сервера под управлением Windows.


      Определение внутреннего IP-адреса сервера под управлением Linux.

      Чтобы узнать внутренний IP-адрес сетевой соединения, на котором вы создаете LAN сервер, выполните следующие пункты:

      • Linux, OS X
      1. Выполните в терминале команду ifconfig
      2. Ваш локальный IP-адрес указан после "inet addr" или "inet" в секции вашего сетевого интерфейса.

      Настройка сервера для игры по Интернету

      Для того, чтобы понять возможность подключения к вашему серверу из Интернета нужно сначала определить тип IP-адреса, который используется. Данная информация может быть размещена в условии договора с провайдером интернета или на личной странице пользователя на сайте провайдера.

      Во-первых, провайдер может предоставлять выделенный IP-адрес, который присвоен именно вам (то есть у вас прямой выход в Сеть), а может использовать один внешний адрес для многих пользователей. В первом случае проблем с настройкой доступа быть не должно, и вам достаточно разобраться со своим оборудованием. Однако если вы находитесь в локальной сети провайдера, ваш компьютер не будет виден из Интернета и доступ к серверу будет невозможен. Возможно, провайдер может предоставить внешний адрес как дополнительную услугу.

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

      Подключение к серверу

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

      Сервер через VPN

      Если у вас возникают проблемы с внутренним IP-адресом, можно попробовать Hamachi, P2PLauncher, EasyVPN, Garena или подобные сервисы. Самым популярным из них является Hamachi. Создатель сервера и подключающиеся должны скачать и установить Hamachi. Далее:

      1. Создать комнату.
      2. server-ip оставить пустым.
      3. Запустить сервер.
      4. Сообщить свой IP в Hamachi (рядом с кнопкой подключения) подключающимся.
      1. Зайти в комнату с сервером.
      2. Попробовать подключиться по полученному IP.

      Самая простая в использовании - это программа P2PLauncher, соединяющая компьютеры через сеть peer-to-peer. Просто поместите её в папку с игрой и запустите. На сервере:

      Открытие портов

      Открытие, или проброс портов (Port Forwarding) позволяет клиентам, подключащимся из Интернета, получать доступ к серверу, который находится за маршрутизатором или модемом. Проблема с открытием портов часто встречается при создании сервера в локальной подсети. Маршрутизатор или модем могут блокировать порт, который пытается использовать сервер игры. Для разных моделей эта процедура происходит немного по-разному.

      Есть 2 способа открытия портов:

      Пример использования программы PFPortChecker

      Чтобы проверить, удалась ли процедура открытия порта, попросите кого-нибудь вне вашей локальной сети подключиться к серверу, используя внешний IP-адрес (вы также можете попробовать подключиться к себе по внешнему адресу самостоятельно, но неудача в этом случае не всегда означает недоступность сервера). Или же загрузите и установите программу PFPortChecker. В поле Port введите номер порта, который вы пытались открыть. В поле Protocol сначала выберите UDP, а потом TCP. Затем нажмите кнопку проверки. После окончания проверки программа выведет 3 итога для TCP и 3 для UDP. Если текст всех 6 результатов проверки будет зелёного цвета, значит процедура удалась полностью. Для примера смотрите скриншот справа.

      Иногда некоторые провайдеры, предоставляют пользователям "серые" IP-адреса. Если в вашем маршрутизаторе указан IP-адрес из диапазонов ниже, то тогда вы не сможете открыть порты на вашем компьютере.

      Список наиболее частых "серых" IP:

      • От 10.0.0.0 до 10.255.255.255 с маской 255.0.0.0 или /8
      • От 172.16.0.0 до 172.31.255.255 с маской 255.240.0.0 или /12
      • От 192.168.0.0 до 192.168.255.255 с маской 255.255.0.0 или /16
      • От 100.64.0.0 до 100.127.255.255 с маской подсети 255.192.0.0 или /10; данная подсеть рекомендована согласно rfc6598 для использования в качестве адресов для CGN (Carrier-Grade NAT)

      Администрирование сервера

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

      Описание GUI

      GUI окна сервера состоит из следующих элементов:

      SMP-GUI.jpg

      Консольный режим

      В консольном, или nogui, режиме присутствуют только лог и командная строка. Они исполняют те же функции, что и соответствующие окна графического режима.

      Запустить в консольном режиме можно только .jar-версию сервера (server.jar). Для этого нужно в команде запуска указать параметр nogui :

      Описание доступных команд

      Команды в игре делятся на две группы: для операторов и игроков. С их помощью можно получить доступ к некоторым полезным возможностям, а операторам осуществлять контроль за состоянием сервера.

      Q: Игроки не могут подключиться к моему серверу. Что делать?
      A: Сначала попробуйте подключиться к нему самому, использовав в качестве IP-адреса сервера localhost. Если Вам не удалось подключиться, сервер создан полностью неправильно. Возможно, Вы допустили ошибку при конфигурации файла server.properties, или Ваш антивирус агрессивно блокирует сервер игры. Если же Вам удалось подключиться к собственному серверу, проверьте, правильно ли Вы определили собственный IP-адрес. Возможно, Вы забыли открыть порты, которые использует сервер игры. Просмотрите лог сервера на наличие ошибок — они могут указать Вам на причину возникновения проблемы.

      Q: Я хочу запустить на сервере свою карту из одиночной игры. Как мне это сделать?
      A: Из папки saves, которая находится в каталоге установленной игры (.minecraft), перенесите папку с Вашей картой (например, New World) в папку, где лежит сервер игры. Не забудьте поменять level-name в файле server.properties, если ваша папка называется не так, как текущая папка сервера. Перенос должен осуществляться при выключенном сервере.

      Q: Как мне создать новый мир?
      A: Удалите все файлы из Вашей папки мира сервера или укажите новое имя мира в параметре level-name в файле server.properties.

      Q: Я хочу обновить сервер. Что для этого нужно?
      A: Сначала сделайте бекап — если что-то пойдет не так, Вы сможете восстановить сервер из резервной копии. Затем заново скачайте с официального сайта исполняемый файл сервера и замените им Ваш старый. Затем запустите сервер — все настройки, карты и игроки должны сохраниться.

      Q: Как мне добавить на сервер функции /home /warp /spawn и другие?
      A: Поищите в плагинах к Bukkit. Например, есть большой плагин CommandBook.

      Q: При запуске сервера я получаю ошибку, что моя версия Java устарела. Как мне узнать, какая у меня версия Java?
      A: Для работы игры требуется Java 8. Чтобы проверить Вашу версию, сделайте следующее:

      1. Откройте командную строку (консоль, терминал):
        • Windows: [Win+R] -> cmd -> [Enter]
        • Linux: размещение в меню различается в зависимости от оболочки, обычно это Приложения -> Системные / Стандартные -> Терминал
        • OS X: В Доке или Finder’е: Программы -> Служебные программы -> Терминал
      2. В командной строке введите java -version и нажмите Enter
      3. В ответе найдите строку начинающуюся с java version . Число, стоящее далее — версия Java.

      то это означает, что Java у Вас не установлена или не настроены переменные среды (последнее обычно только для Windows). Попробуйте сделать следуещее:

      1. Нажмите правой кнопкой мыши на Мой компьютер
      2. Кликните на Свойства
      3. Кликните на Расширенные параметры системы
      4. Кликните на Переменные среды
      5. В списке системных переменных найдите переменную Path
      6. Кликните Редактировать и допишите в конец: ;%ProgramFiles(x86)%\Java\jre6\bin
      7. Откройте командную строку заново и попробуйте снова

      Если Ваша версия ниже 1.6.1 или Java у Вас не установлена, перейдите на страницу загрузки Java и скачайте последнюю версию.

      См. также

      Java Edition

      Материалы сообщества доступны в соответствии с условиями лицензии CC BY-NC-SA 3.0, если не указано иное.

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