Как сделать статус сервера

Обновлено: 07.07.2024

Все мы боимся слышать, что у нас на сайте есть битые ссылки, но как их быстро найти и убрать? Какой именно редирект поставить, если теперь у тебя все URL начинаются с www? Как собрать все четырёхсотые и пятисотые? Предлагаю обо всём поговорить по порядку.

1. Кратко о том, что такое код ответа сервера

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

2. Как проверить код ответа страницы?

Зарегистрировались, скачали Netpeak Launcher, установили Netpeak Spider, запустили его. Дальше есть выбор в зависимости от твоих задач:

  • Проверка ответа кода сервера на всех страницах твоего сайта;
  • Массовая проверка кода ответа сервера по списку страниц.

2.1. Проверка кода ответа сервера на всех страницах сайта

  • перепроверить результаты;
  • открыть эти страницы в сторонних сервисах (например, Serpstat, Ahrefs, Google Pagespeed Insights);
  • поиграться другими отчётами.

Netpeak Spider

Быстро проверять коды ответа сервера страниц сайта вы можете даже в бесплатной версии Netpeak Spider без ограничений по времени. Также во Freemium-версии доступны и другие базовые функции программы.

Чтобы начать пользоваться бесплатным Netpeak Spider, просто зарегистрируйтесь, скачайте и установите программу — и вперёд! 😉

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

2.2. Массовая проверка кодов ответа сервера по списку страниц

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

  • из буфера обмена;
  • из различных документов (.xlsx, .csv, .txt, .xml);
  • из файла Sitemap.

3. От сервера пришёл ответ с кодом ххх — что это значит?

200 ОК

Ответ, который говорит об успешно обработанном запросе: сервер дал ответ → страница найдена → информация передана клиенту.

301 Moved Permanently

Запрашиваемый документ перемещён на другой URL-адрес навсегда.

302 Found

303 See Other

304 Not Modified

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

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

307 Temporary Redirect

Перейдём к кодам, которые отвечают за ошибки на стороне клиента.

401 Unauthorized

Код, который говорит о том, что пользователь ещё не прошёл аутентификацию, или данные неверны.

403 Forbidden

Доступ запрещён. Сервер получил запрос, но отказывается его выполнить из-за ограничений доступа (например, когда пользователь хочет посмотреть системные файлы или другие документы, к которым у него нет доступа).

404 Not Found

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

410 Gone

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

429 Too Many Requests

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

Уважай сервер, он почти как Google — у него очень много спрашивают, а он один.

Ну и завершим всё ошибками на стороне сервера, которые чаще всего встречаются.

500 Internal Server Error

Ошибка говорит о том, что сервер не может обработать запрос. Это любая непредвиденная для сервера ситуация, причину которой он не способен определить (она не соответствует ни одной другой пятисотой ошибке).

503 Service Unavailable

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

Ещё одно корокое и полезное видео о том, как проверить код ответа страниц на сайте:

Подводим итоги

Напоследок давай пробежимся по всему, что уже сказано:

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

И так, есть сервер и нужно знать его состояние постоянно и асинхроннао.

Пробовал так, не получается(

Ваши идеи?



1 ответ 1

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

У класса Ping есть асинхронный метод Ping.SendAsync, который делает все тоже самое. что и обычный Ping.Send , который вы использовали, только предназначен для асинхронного выполнения. Стандартный таймаут ping для Windows при недоступности узла составляет 4 сек. (пруф), поэтому, если это имеет значение, придется выбрать другую перегрузку Ping.SendAsync , которая позволяет указать величину таймаута в параметрах при вызове метода.

Теперь соберем все вместе, чтобы получить желаемый результат. Для приложения WinForms, в качестве таймера будем использовать System.Windows.Forms.Timer, т.к. с одной стороны, нам нужна возможность работать со свойствами контролов, а конкретно этот таймер исполняет обработчик в UI-потоке, с другой стороны, SendAsync нужно просто правильно вызвать, т.к. он уже использует асинхронность.

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

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

Данная статья знакомит читателя с особенностями работы чистого (без модификаций) сервера 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, если не указано иное.


Многие администраторы серверов хотели бы поставить онлайн своего сервера прямо в статус группы ВКонтакте. Очень удобно следить за мониторингом сервера. Такие статусы начали устанавливать уже некоторые проекты майнкрафт и зайдя в группу проекта вы увидите онлайн сервера в реальном времени прямо в статусе. Если Вы не знали - это делается с помощью плагина и токена от аккаунта вк которому группа принадлежит или человека у которого есть доступ менять статус в группе.

Особенности плагина ExsiteStatus:

♦ Плагин отлично поддерживает ядра BungeeCord и Spigot
♦ Возможно выводить онлайн в статус нескольких групп

Основные команды / commands плагина ExsiteStatus:

/exsitestatus - Помощь по командам.
/exsitestatus info - Посмотреть онлайн/рекорд онлайна.
/exsitestatus update - Обновить информацию и статус.
/exsitestatus reload - Перезапустить конфиг.

Основные права / permissions плагина ExsiteStatus:

- ExsiteStatus.help - Возможность посмотреть помощь по плагину.
- ExsiteStatus.info - Право на команду просмотра информации (онлайна и рекорда онлайна сервера).
- ExsiteStatus.update - Право на обновление статуса группы принудительно.
- ExsiteStatus.reload - Право на перезагрузку конфигурации плагина.

Конфигурационный файл плагина ExsiteStatus:

Как установить?

1. Скачайте плагин.
2. Возьмите скачанный файл и перенесите в папку plugins вашего сервера.
3. Перезапустите сервер.
4. Готово.

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