логи с консоли майнкрафт
Делаем лог-систему для Minecraft
Сегодня речь пойдет о мире, о который большинство из вас не знает, но при этом там крутятся многие отличные инженеры-разработчики и большие деньги. Да, как ни странно, речь пойдет о Minecraft.
Minecraft — игра-песочница и на мультиплеер-серверах остро стоит проблема гриферства (от англ. griefing — вредительство), когда игроки рушат чужие постройки. На серверах с этой проблемой справляются по-разному. На публичных используют плагин на ‘приват’, на остальных же все строится на доверии.
Еще один из способов предотвратить гриферство — бан всех гриферов. И для того чтобы вычислить их, приходиться логгировать установку и удаление блоков. Собственно, о процессе создания такой лог-системы и пойдет речь дальше.
Выбор базы данных
Итак, вот у нас массив данных и хорошо бы его куда-то сохранять. Умные люди давно придумали БД. Лично у меня требования к БД были такие:
Последний пункт появился из-за того, что не на всех хостингах есть возможность получить root-доступ или установить какой-либо пакет. К тому же, не хотелось усложнять процедуру установки, а остановиться на «Кинул и забыл».
Базы данных, которые удовлетворяли бы всем критериям я не нашел, поэтому решил сделать свою мини-БД на Java.
Оптимизация места на жёстком диске
Основная проблема игры, как считают многие, — все её вычисления происходят в одном потоке. Это настоящая боль держателей серверов. Распараллелить изначально однопоточную архитектуру — надо постараться.
Поэтому само логгирование пришлось вынести в отдельный поток. А чтобы система не захлебнулась от Event’ов в очереди, добавить поддержку воркеров. Количество воркеров настраеваемое.
В итоге получилось так, что само событие перехватывается в главном тике, потом отправляется в поток, который занят тем, что распределяет задачи между воркерами. Там мы получаем файл, в который надо занести наше событие и передаем уже воркеру, который прикреплен к этому файлу. И сама операция IO происходит в воркере.
Оптимизация места на жёстком диске
Большое количество событий может привести к тому, что логи будут весить больше, чем сам мир. Этого нам допустить нельзя, поэтому будем думать.
Изначально строчка в логфайле выглядела так:
[2001-07-04T12:08:56.235-0700]Player PLACE to 128,128,128
При беглом взгляде можно заметить, что 2001-07-04T12:08:56.235-0700 можно сократить до Timestamp, а PLACE или REMOVE на символ ‘+’ и ‘-‘ соответственно. Ну и уберем нафиг ‘to’:
Не сложно заметить, что в логе будет часто повторятся nickname и blockid. Соответсвенно, их можно вынести в отдельный файл, а в лог писать только id
[123454678]1 + 1 128,128,128
В итоге я пришел к тому, что в строчке лога остались только числа и один символ. Мы сэкономим много места, если уберем разделители (пробелы) и числа будем записывать как байты, а не как символы. Сообственно, это привело меня к решению использовать байтовые логи.
Сама байтовая строка теперь выглядит так:
Name | posX | posY | posZ | typeaction | playerid | blockid | timestamp |
---|---|---|---|---|---|---|---|
Field Length (bytes) | 4 byte | 4 byte | 4 byte | 1 byte (‘0’ for Remove, ‘1’ for Insert) | 4 byte | 8 byte | 8 byte |
Итого мы имеем 35 байтов на строку фиксированно (1 байт для разделения строк).
Вначале был соблазн оставить 34 байта, но так как запись ведется в один файл, то в случае с фиксированной длинной, если побьется одна строка, весь файл станет нечитаемым.
Структура строки для blockname to id:
Name | id | blockname |
---|---|---|
Field Length (bytes) | 8 byte | 1 byte per symbols |
21 байтов на блок
Имя файла: blockmap.bytelog
Структура строки для nickname to id:
Name | id | nickname |
---|---|---|
Field Length (bytes) | 4 byte | 1 byte per symbols |
10 байтов на игрока
Имя файла: nickmap.bytelog
Оптимизация памяти
Чтобы быстро маппить blockname и nickname в id пришлось держать содержимое обоих файлов в памяти. Java не может в HashMap хранить примитивные типы, поэтому каждый Integer будет стоить нам
50 байт в памяти, что очень много.
Решить эту проблему нам поможет библиотека trove.
Но каждый символ у нас занимает примерно 2 байта. Мы можем снизить потребления памяти с помощью самописного файла ASCIString, в котором символы хранятся в byte[], а не в char[].
Тестирование
В тестировании байтовой сериализации и десериализации ничего необычного нет, а вот для тестирования компонентов, к которым требовался многопоточный доступ пришлось использовать фреймворк от гугла Thread Weaver. Обычный тест с использованием этого фреймворка выглядит так:
Фреймворк стучит из обоих потоков с разным порядком, что позволяет выловить самые противные баги в асинхронном коде.
Заключение
Пока по количеству скачиваний будет понятно стоит ли развивать дальше этот мод и идею. Из примерных планов на будущее:
Как настроить консоль?
Администраторы серверов часто сталкиваются с проблемами в консоли сервера Майнкрафт. А именно, в консоли и на сервере не поддерживается русский язык и показываются непонятные символы. Также при установке плагинов вся консоль в ошибках.
Сейчас я вам покажу как легко устранить эти проблемы. Для начала разберемся с запускатором сервера Minecraft.
Как сделать запускатор start.bat для сервера Майнкрафт?
Вот так выглядит стандартный запускатор для сервера Майнкрафт. Скачать вы его сможете внизу этой статьи. Сейчас разберем, какие значения и за что в нем отвечают.
Нас интересует четвертая строчка в этом файле. Обычно вместо первого слова java пишут путь к вашей java, установленной на вашем компьютере. Мы сделали проще, написав слово java, теперь файл сам найдет путь к вашей java и вам не придется ничего прописывать.
И в конце стоит название вашего ядра сервера spigot-1.8.8-R0.1-SNAPSHOT-latest.jar. Вам нужно будет вставить вместо этого свое название и у вас все будет работать.
Как убрать ошибки из консоли сервера Майнкрафт?
Большинство ошибок появляются из-за попытки плагинов найти новую версию. Плагины сами пытаются обновится и появляется много спама в консоли. Для этого нужно просто отключить в конфигах плагинов функции обновления. Как это сделать, я показал в видео ниже.
Как Работать С Консолю Разработчика TLauncher
Всем Привет Я сегодня Раскажу Как Определить Проблему Загрузки Майнкрафт Через Лаунчер
Ошибка Запуска Мод Мешает Запустить Игру Как Определить Проблему
Смотрим И Ищем В Консоле UCHE Ета Приписка К Не Рабочему Моду Смотрим название И
Удалаем Все Моды с Припиской UCHE Все Наслажданмся
Дубликаты не найдены
Сцуко, аж прослезился,
Я и без этого UCHE спокойно с модами разбирался, в крэш-логе и так вся инфа пишется.
А мод из-за которого вылетает и так чуть ли не в самом начале описывается, и даже проблему пишет, прикинь Карл, ПРОБЛЕМУ ВЫЛЕТА.
Таким макаром собрал сборку на базе Feed The Beast Infinity Evolved до
200 модов. Тупо подправляя ID в конфликтах, и малое количество желанных модов удалил из-за лютой ошибки которую трудно исправить.
Кажется, он хочет нам тайно что-то сказать. Похоже на шифр Цезаря, но фиг его знает.
Ну ты хоть погугли, прежде чем вопрос задавать.
Мнение Владимира Епифанцева о нашем сайте
Конечно в некоторых моментах можно поспорить, но в чем то он прав. От того и грустно..
С монтированием видоса со сториз что то накосячил с очередностью ролика, так как колхозник ))
Про Глухаря вообще молчу
Министр социального развития, успокойтесь
Думаю многие сталкивались
Из-за РПЛ мы теряем великих футболистов
У бэдкомедиана задергался глаз
Ну вы поняли.
Пикабушники: «Мы — пикабушники! Интересные люди с собственным мнением, пилящие крутые посты с увлекательными историями! МЫ — СИЛА!»
Епифанцев: «Да вы же секта и стадо»
Пикабушники: «Ну так-то да, правильно всё сказал, в принципе, мы секта и стадо»
Ответ на пост «Статистика»
Тут многие люди пишут, что заболевших на самом деле намного больше, чем пишут в статистике.
Подержите мое пиво.
За последний год ко мне в поликлинику на рентген приходит очень много людей с вирусной пневмонией и я, прям, почти на сто процентов вижу, что это ковид (есть у нее определенные особенности даже на рентгене). Бывает, что в день до 20-30 таких.
За работу с ковидом мне по закону полагается доплата, поэтому всегда за ними потом очень тщательно слежу.
Но! Роспотребнадзор большинство этих людей в федеральный регистр не вносит! Почему? Этого никто не может уже год понять. Из сотни людей я примерно 1-2 потом в официальных списках нахожу (и, соответственно, за всех остальных никаких выплат мне не идёт).
Это просто абсурд какой-то, Кафка и Хармс вместе взятые. Казалось бы, ну вот человек с вирусной пневмонией, вот пцр, вот диагноз, не может же он никуда пропасть, он должен в списках быть. Ага, щас.
Марсианские хроники
Ответ на пост «Гнилые люди в ДПС»
Только купил машину, проездил неделю. Останавливают меня сотрудники ДПС. А я за рулём вот столько, сколько машиной владею. Разнервничался-разволновался. Даю документы, а у самого руки трясутся.
Полицейский это замечает, и сразу начинает «Как себя чувствуем? Не употребляли? А чего руки трясутся?»
Ну я без лишних раздумий выкладываю: «Просто меня никто еще не останавливал»
Ониокликивает своего напарника «Серёг, прикинь я у него первый!» ржут оба, желает счастливого пути и отпускает.
Какой разврат!! Обязательно надо поехать ещё раз
Факт от @Keyten
Вызываю к Великой Силе Пикабу
Город Выкса. Предположительно около Детского мира, примерно 17:45.
Прекрасные незнакомые друзья
Надо было для одной тусовки закупиться большим количеством питьевой продукции.
Нашёл один оптовый склад в инете звоню:
Я: Добрый день, мне нужно купить у вас 10 ящиков того, 15 ящиков этого и т.д.
Человек: Добрый только я сейчас дома, позвоните по другому номеру *диктует номер*.
*звоню*
Я: Добрый день, мне ваш номер дала Татьяна надо.
Человек2: Ой братишка мне сейчас хуйово, позвони по этому номеру *диктует номер* скажи от Сергея Павловича
*звоню*
Я: Добрый день я от Сергея Павловича и Татьяны и т.д. по тексту.
Человек3: На когда надо?
Я: Послезавтра
Ч3: Завтра сможете забрать?
Я: Врядли, а можно послезавтра утром или сделать доставку?
Ч3: Ну мы вообще-то послезавтра не работаем и доставку не делаем, но я могу приехать для отгрузки.
Я: Спасибо, какая сумма?
Ч3: 36тысяч грн, но у нас цены опт от 50
Я: Да но Сергей Павлович.
Ч3: Ладно ок приезжайте отгрузим
*приезжаю*
**загружаемся и считаемся**
Ч3: С вас 29тысяч грн
Я: Так вы же говорили 36!?
Ч3: Ну вы же от Сергея Павловича
Я: А ну ок, спасибо.
***получаю накладную, товар и уезжаю***
База знаний
Команды для консоли Майнкрафт.
⭐️ ПРИВЕТСТВУЕМ НА HOSTING-MINECRAFT.RU ⭐️
✔️ Сегодня речь пойдет об очень важной теме, а именно: «Консольные команды для майнкрафт сервера». Если Вы действительно хотите разбираться в Minecraft на профессиональном уровне, тогда Вам крайне необходимо изучить данный материал. Недостаточно просто купить сервер, залить туда сборку и думать, что Ваш сервер самый лучший.
Очень важно уметь поддерживать интерес игроков на высоком уровне, чтобы пользователи хотели снова и снова возвращаться на Ваш сервер. Именно поэтому, Вы, как администратор сервера должны быть максимально подкованы навыками, и в том числе иметь знания консольных команд. Итак, приступим!
✅ ПОДПИШИТЕСЬ НА НАШ YOUTUBE КАНАЛ ✅
В ПАНЕЛИ УПРАВЛЕНИЯ HOSTING-MINECRAFT.RU ИМЕЕТСЯ ВСТРОЕННАЯ КОНСОЛЬ, В КОТОРУЮ НЕПОСРЕДСТВЕННО И ВВОДЯТСЯ НУЖНЫЕ КОМАНДЫ, ПОСЛЕ ЧЕГО ОНИ В АВТОМАТИЧЕСКОМ РЕЖИМЕ АКТИВИРУЮТСЯ НА ВАШЕМ СЕРВЕРЕ!
1) Обязательные параметры для команд, мы будем обозначать:
2) Те что используются как дополнение, обозначим [квадратными]
ПОМНИТЕ: ПРИ НАПИСАНИИ КОМАНД В КОНСОЛЬ, СКОБКИ УКАЗЫВАТЬ НЕ НУЖНО!
КОМАНДЫ ДЛЯ МУЛЬТИПЛЕЕРА (ТОЛЬКО НА СЕРВЕРЕ):
1) Блокирует пользователя. Удаляет его нахождение в белом листе.
2) Запрещает человеку заходить с указанного IP адреса. Очень полезная функция 🙂
3) Показывает список заблокированных игроков.
4) Удаляет все полномочия и права оператора.
5) Выкидывает (кикает) человека с Вашего сервера. Также можно указать причину.
6) Открыть список всех онлайн игроков.
7) Выдача прав администратора сервера. Будьте аккуратный с данной командой, не выдавайте её кому попало!
8) Удаляет из чёрного списка. Прописывайте команду и указывайте ник игрока.
9) Удаляет из чёрного списка указанный IP адрес.
10) Происходит сохранение мира.
11) Выключает функцию под №10.
12) В автоматическом режиме все файлы игры начнут сохраняться.
13) Остановка сервера.
14) Благодаря данной команде можно добавить/удалить игрока в/из white list(a).
15) Отображает всех участников white list.
16) Запуск или отключение white list.
17) Происходит перезагрузка вайт lista, если в нём проводились изменения.
КОМАНДЫ ДЛЯ ОПЕРАТОРОВ:
Внимание, если Вы пишите с игрового чата, указывайте префикс «/».
1) Данная команда служит для удаления предметов из инвентаря.
2) Если новичок заходит на сервер, ему задается выбор параметра игрового режима.
3) Сложность игры
4) Выбор режима для конкретного игрока (выживание, творчество, приключение)
5) Пользователю выдаётся предмет с заданным количеством.
6) Используйте данный справочник, чтобы увидеть все существующие команды.
7) Доступ к миру по локальной сети.
8) Для всех игроков сообщение придет в розовом цвете.
9) Задаётся точная точка спауна.
10) Выбор времени суток.
11) Происходит изменение осадков.
12) Один игрок перемещается к другому.
13) Игрок переносится в точно заданные координаты.
14) Данная команда позволяет добавлять, либо отнимать очки опыта.
Поздравляем! Теперь Вы изучили основные команды для майнкрафт! Чем чаще Вы будете их использовать, тем быстрее выучите и поймете принцип действия!
ПРОМО-КОД НА СКИДКУ 15%: ready-steady-go
Minecraft Wiki
Из-за новой политики Microsoft в отношении сторонних ресурсов, Minecraft Wiki больше не является официальной. В связи с этим были внесены некоторые изменения, в том числе и обновлён логотип вики-проекта. Подробности на нашем Discord-сервере.
Создание и настройка сервера
Данная статья знакомит читателя с особенностями работы чистого (без модификаций) сервера Minecraft текущей версии. В отличие от клиента, распространяется бесплатно через официальный сайт игры и работает со всеми версиями клиента (пиратской и официальной). Информация в этой статье была приведена в соответствие с версией 1.15.2.
Содержание
Подготовка к работе
Загрузка необходимого ПО
Для работы сервера требуется установить на Ваш ПК пакет Java. Его можно скачать на этой странице. Но если клиент Minecraft запускается, то это индикатор того, что данный пакет уже установлен на компьютер. (Теперь minecraft можно установить через установщик, который сам скачивает для себя Java. В этом случае вам все равно нужно установить Java.)
Создание и настройка сервера
Знакомство с параметрами сервера
Когда загруженный файл оказался в будущей папке сервера, запустите его и подождите, пока закончится процесс генерации уровня. Вы увидите, что в Вашей папке появилось несколько новых файлов и подпапок.
Рассмотрим файл server.properties. Данный файл содержит в себе все основные параметры сервера. Откройте этот файл при помощи любого текстового редактора. Вы увидите примерно такое содержимое:
Описание параметров
Параметр | Значения | По умолчанию | Описание |
---|---|---|---|
allow-flight | true / false | true | Разрешает игроку совершать полёты по миру Minecraft. Эта опция действует только на полёты в режиме Выживание и оказывает эффект только при наличии соответствующего плагина (например, Flight). На полёты в режиме Творчество никак не влияет. |
allow-nether | true / false | true | Данный параметр определяет возможность перехода в Нижний мир. Если отключить, все игроки, находившиеся в Нижнем мире, будут перемещены в обычный. Не влияет на переход в Край. |
broadcast-console-to-ops | true / false | true | Позволяет вывести результат выполнения команды в консоли всем операторам сервера. |
broadcast-rcon-to-ops | true / false | true | Позволяет вывести результат выполнения команды в консоли RCON всем операторам сервера. |
announce-player-achievements | true / false | true | Данный параметр определяет, должен ли сервер отправлять в чат сообщения о получении достижений. |
difficulty | Строка | easy | Уровень сложности: peaceful — Мирный easy — Лёгкий normal — Нормальный hard — Сложный |
enable-command-block | true / false | false | Позволяет использовать командный блок. Эта опция не генерируется при первой загрузке, а появляется при первой попытке использования командного блока. |
enable-jmx-monitoring | true / false | false | Позволяет включить MBean (функция в Java, позволяющая предоставлять определенные статистические данные для мониторинга) с объектом net.minecraft.server:type=Server и двумя атрибутами: |
averageTickTime — среднее время на совершение одного тика (в миллисекундах),
tickTimes — время cовершения порядка 100 последних тиков (в наносекундах).
Чтобы включить выполнение JMX в Java, необходимо задать соответствующие флаги запуска JVM. Более подробно описано в этой документации
Если значение установлено на false, то в меню сетевой игры работающий сервер будет отображаться как «оффлайн», однако также сможет принимать подключения игроков.
Это настройка выражается в процентах (100% — по умолчанию). Например, установка этого значения на 50 уменьшит дальность рендера энтити вдвое. Представляет собой серверный аналог изменения прорисовки у клиента.
При выборе порта вы можете руководствоваться данным списком стандартных портов, которые могут принадлежать другим сетевым службам и программам.
Когда эта опция включена, сервер кикнет игрока только после того, как автоматически перезагрузит вайтлист для поиска изменений.
Требуется проверка перевода.
Примечание: интернет требует, чтобы пакеты размером менее 64 байтов дополнялись до 64 байтов. Таким образом, установка значения ниже 64 может быть нецелесообразной. Также не рекомендуется превышать 1500 байт.
Первая строчка «#Minecraft server properties» необходима для определения сервером, что это именно тот действующий файл server.properties, который он будет использовать в данный момент.
Вторая строчка «#Thu Jul 07 16:45:52 MSK 2016» описывает даты последнего изменения сервером данного файла. Важно помнить, что сервер берёт те дату и время, которые установлены операционной системой.
Непосредственно перед началом игры на сервере вы можете настроить указанные выше параметры сервера.
Любое изменение настроек в этом файле требует перезапуск сервера. Кроме того, сервер иногда может записывать изменения в этот файл, поэтому перенастройку лучше производить при отключенном сервере.
Настройка подключения к серверу
Стоит отметить, что на сервере могут одновременно играть игроки как из локальной сети, так и из сети Интернет.
Подключение к собственному серверу
Если вы не можете подключиться даже через петлевой интерфейс, это повод проверить настройки антивируса и файерволла. Добавьте в исключения Minecraft Server и порт 25565.
Сервер в локальной сети
Процесс настройки сервера игры по локальной сети намного проще создания доступного из Интернета, и является более простым в плане возникновения ошибок при подключении к серверу.
С версии 1.3.1 вы можете открыть свой мир из одиночной игры для локальной сети, для этого достаточно загрузить мир, нажать паузу и выбрать «Открыть мир для локальной сети». Однако, такой способ несколько ограничивает возможности владельца сервера.
Подключение к локальному серверу
Чтобы игроки смогли подключится к вашему серверу, их компьютеры должны быть объединены с компьютером-сервером по локальной сети (LAN). В строке ввода IP-адреса сервера они должны написать внутренний IP-адрес компьютера, на котором создан сервер. Локальный IP-адрес желательно должен быть статическим (быть прописанным в настройках сетевого подключения вручную) или привязанным к MAC-адресу.
В качестве локальной сети может выступать как ваша домашняя локальная сеть, так и локальная сеть провайдера или псевдолокальная сеть (VPN), предоставляемая программами вроде Hamachi.
Определение внутреннего IP-адреса
Определение внутреннего IP-адреса сервера под управлением Windows.
Определение внутреннего IP-адреса сервера под управлением Linux.
Чтобы узнать внутренний IP-адрес сетевой соединения, на котором вы создаете LAN сервер, выполните следующие пункты:
После этого программа ниже отобразит основные данные про сети, к которым подключен компьютер. Внутренний IP-адрес отвечает строке «IP-адрес» в блоке «Home Network — Ethernet адаптер:».
Настройка сервера для игры по Интернету
Для того, чтобы понять возможность подключения к вашему серверу из Интернета нужно сначала определить тип IP-адреса, который используется. Данная информация может быть размещена в условии договора с провайдером интернета или на личной странице пользователя на сайте провайдера.
Во-первых, провайдер может предоставлять выделенный IP-адрес, который присвоен именно вам (то есть у вас прямой выход в Сеть), а может использовать один внешний адрес для многих пользователей. В первом случае проблем с настройкой доступа быть не должно, и вам достаточно разобраться со своим оборудованием. Однако если вы находитесь в локальной сети провайдера, ваш компьютер не будет виден из Интернета и доступ к серверу будет невозможен. Возможно, провайдер может предоставить внешний адрес как дополнительную услугу.
Для того, чтобы различить внешний и внутренний адрес, стоит сравнить адрес, под которым вы видны в сети и адрес, который получает ваш компьютер или роутер/модем, подключенный к линии провайдера (как правило, доступен по адресу 192.168.1.1 или 192.168.0.1). Существует много сайтов, которые определяют IP-адрес посетителя в онлайн-режиме, например, 2IP.ru.
К тому же, существуют сервисы (в том числе и бесплатные), предоставляющие домены третьего уровня, например, dyn.com/dns/. Обновление адреса производится обычно при помощи специальной программы, которую вы должны будете установить на компьютер, но некоторые модемы и роутеры могут сами выполнять эту функцию (посмотрите в интерфейсе маршрутизатора на предмет Dynamic DNS). Многие провайдеры предлагают статический IP-адрес в качестве дополнительной услуги.
Подключение к серверу
Чтобы подключиться к Вашему серверу, игроки в строке ввода IP-адреса сервера в клиенте игры должны ввести Ваш внешний IP-адрес или домен (адрес сайта) и нажать кнопку подключения к серверу. Внешний IP-адрес может узнать владелец сервера и сказать его игрокам, которые хотят подключиться к его серверу. Узнать ваш внешний IP-адрес могут помочь сайты: SpeedTest.net, 2IP.ru, Smart-IP.net.
Если игроки не могут подключиться к вашему серверу, смотрите раздел FAQ.
Сервер через VPN
Если у вас возникают проблемы с внутренним IP-адресом, можно попробовать Hamachi, P2PLauncher, EasyVPN, Garena или подобные сервисы. Самым популярным из них является Hamachi. Создатель сервера и подключающиеся должны скачать и установить Hamachi. Далее:
Открытие портов
Открытие, или проброс портов (Port Forwarding) позволяет клиентам, подключащимся из Интернета, получать доступ к серверу, который находится за маршрутизатором или модемом. Проблема с открытием портов часто встречается при создании сервера в локальной подсети. Маршрутизатор или модем могут блокировать порт, который пытается использовать сервер игры. Для разных моделей эта процедура происходит немного по-разному.
Есть 2 способа открытия портов:
Пример использования программы PFPortChecker
Чтобы проверить, удалась ли процедура открытия порта, попросите кого-нибудь вне вашей локальной сети подключиться к серверу, используя внешний IP-адрес (вы также можете попробовать подключиться к себе по внешнему адресу самостоятельно, но неудача в этом случае не всегда означает недоступность сервера). Или же загрузите и установите программу PFPortChecker. В поле Port введите номер порта, который вы пытались открыть. В поле Protocol сначала выберите UDP, а потом TCP. Затем нажмите кнопку проверки. После окончания проверки программа выведет 3 итога для TCP и 3 для UDP. Если текст всех 6 результатов проверки будет зелёного цвета, значит процедура удалась полностью. Для примера смотрите скриншот справа.
Иногда некоторые провайдеры, предоставляют пользователям «серые» IP-адреса. Если в вашем маршрутизаторе указан IP-адрес из диапазонов ниже, то тогда вы не сможете открыть порты на вашем компьютере.
Список наиболее частых «серых» IP:
Администрирование сервера
В данном разделе описаны элементы администрирования сервера — процесс управления и поддержания корректной работы сервера во время его работы при использовании командной строки и элементов графического интерфейса.
Описание GUI
GUI окна сервера состоит из следующих элементов:
Консольный режим
В консольном, или nogui, режиме присутствуют только лог и командная строка. Они исполняют те же функции, что и соответствующие окна графического режима.
Описание доступных команд
Команды в игре делятся на две группы: для операторов и игроков. С их помощью можно получить доступ к некоторым полезным возможностям, а операторам осуществлять контроль за состоянием сервера.
Q: Игроки не могут разрушать блоки, всё сломанное возвращается обратно. Как это исправить?
A: Рядом с точкой спауна есть защищенная зона, блоки в которой могут ставить и уничтожать только операторы сервера. То есть, игрокам нужно просто отойти ровно на столько блоков в любую сторону, сколько стоит в spawn-protection в настроечном файле сервера.
Q: В логе сервера всё время появляется сообщение «Can’t keep up! Is server overloaded or system time changed?» Что это значит?
A: Это значит, что сервер в данный момент перегружен и его работа может быть не совсем исправна. Уменьшить нагрузку на сервер можно, закрыв все сторонние программы, тем самым снизив нагрузку на процессор и освободив дополнительный объём оперативной памяти. Можно попробовать перезапустить сервер. Скорость работы сервера сильно зависит от количества игроков, играющих на нём.
Q: Игроки жалуются на то, что сервер жутко лагает. Как мне исправить это?
A: Возможно, скорость подключения к сети Интернет недостаточная, или аппаратное обеспечение компьютера слишком «слабое». Постарайтесь минимизировать использование интернет-трафика (закрыть интернет-браузеры, торрент-клиенты и прочее) и снизить нагрузку на использование ресурсов компьютера. Добавьте Server.jar в список исключений Вашего фаерволла/антивируса, а лучше всего выключите их. Попробуйте перезапустить сервер. Попросите игроков, у которых лагает, переподключиться к серверу — возможно, проблема лагов на стороне клиента.
Q: Игроки не могут подключиться к моему серверу. Что делать?
A: Сначала попробуйте подключиться к нему самому, использовав в качестве IP-адреса сервера localhost. Если Вам не удалось подключиться, сервер создан полностью неправильно. Возможно, Вы допустили ошибку при конфигурации файла server.properties, или Ваш антивирус агрессивно блокирует сервер игры. Если же Вам удалось подключиться к собственному серверу, проверьте, правильно ли Вы определили собственный IP-адрес. Возможно, Вы забыли открыть порты, которые использует сервер игры. Просмотрите лог сервера на наличие ошибок — они могут указать Вам на причину возникновения проблемы.
Q: При подключении игроки получают сообщение «Outdated server!» / «Outdated client!»
A: Сервер и клиент должны быть одной и той же версии, внимательно проверьте это.
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: При создании сервера в логе появляется сообщение: «FAILED TO BIND TO PORT. Perhaps a server is already running on that port?». Что делать?
A: Это значит, что порт, который использует сервер, уже занят, или доступ к нему закрыт. Отключите Ваш антивирус и файерволл, программы использующие интернет. Вероятно, вы указали порт, использующийся другой программой (например, веб-сервером или торрент-клиентом) или перед началом создания сервера Вы забыли проделать процедуру открытия портов на модеме/маршрутизаторе. Чтобы узнать, как её сделать, смотрите последний раздел данной статьи.
Q: В логе сервера появляется сообщение: «[INFO] %username% lost connection: End of stream». Что мне делать?
A: Такая проблема может иногда случаться на операционной системе Windows XP SP3. Попробуйте запустить сервер на виртуальной машине (например, VirtualBox) или смените операционную систему.
Q: При запуске сервера я получаю ошибку, что моя версия Java устарела. Как мне узнать, какая у меня версия Java?
A: Для работы игры требуется Java 8. Чтобы проверить Вашу версию, сделайте следующее:
Если в ответ вы получили сообщение такого вида:
то это означает, что Java у Вас не установлена или не настроены переменные среды (последнее обычно только для Windows). Попробуйте сделать следуещее:
Если Ваша версия ниже 1.6.1 или Java у Вас не установлена, перейдите на страницу загрузки Java и скачайте последнюю версию.
- лог работы скрипта завершено с кодом 255
- логин в майнкрафте это