Инструменты пользователя

Инструменты сайта


wiki:public_servers

Игра на общедоступном сервере

Что это и зачем нужно

Общедоступный или публичный сервер позволяет играть в NetHack или его варианты (форки) в интернете без необходимости ставить локальную версию на своём компьютере. Такой способ игры имеет следующие преимущества:

  • возможность встретить кости других игроков;
  • видеть свои и чужие результаты игр на страницах сервера игры (а также на глобальном агрегаторе результатов);
  • патчи для улучшения стандартного интерфейса и исправление ошибок;
  • можно посмотреть чью-то игру, которая ведётся в данный момент или показать свою.

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

Кроме того, на публичных серверах проходят ежегодные турниры игроков со всего мира, такие как Junethack и The November NetHack Tournament.

Как подключиться: используем PuTTY

Вы можете получить доступ к общедоступному серверу с помощью telnet или SSH-клиента, такого как PuTTY в Windows (см. страницу PuTTY для получения рекомендуемых настроек) или ssh (OpenSSH) в Linux, других системах UNIX, MacOS или (под Windows) WSL.

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

В дальнейшем подключение рассматривается исключительно на примере PuTTY. Программа небольшая, проста в установке и настройке. Хороша тем, что запоминает пользовательские предпочтения и хранит адреса серверов, избавляя от необходимости каждый раз их набирать. Кстати говоря, многие пользователи Linux тоже предпочитают подключаться через PuTTY, не смотря на то, что терминал Linux изначально гораздо лучше приспсоблен к таким подключениям, чем командная строка Windows.

Версию PuTTY для Windows можно скачать с сайта: https://www.putty.org/, версия для Linux находится в большинстве репозиториев.
Настройки Windows и Linux версий немного различаются.

В первом окне в поле Host Name предлагается набрать адрес сервера (в данном примере это ascension.run, тип соединения (SSH), порт (по умолчанию 22)). Также адрес сервера можно написать в поле под надписью Saved Sessions, зачем это делать – будет объяснено позднее. Уже этих настроек достаточно, чтобы подключиться, нажав Open, и посмотреть что получилось, но пока делать этого не будем.

Если всё же попытаться подключиться, то сервер запросит у вас имя пользователя. Это не то имя пользователя, под которым вы будете играть, это другое, стандартное имя. Как правило, надо написать "nethack". Чтобы не вводить это имя каждый раз, его можно сохранить здесь: ConnectionDataAutologin username (Prompt).

Далее надо настроить кодировку. Это делается здесь: WindowTranslationRemote character set. В большинстве случаев достаточно использовать умолчальную UTF-8, однако не все сервера её поддерживают. Чтобы предупредить проблемы с отображением, ставьте сразу на CP437. Отметку: Override with UTF-8 if locale says so лучше снять.

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

Если вы подключаетесь из под Windows, то очень рекомендую открыть вкладку WindowSelection и в рамке Control use of mouse установить пункт Windows. В противном случае при случайном правом клике по окну с игрой у вас будет автоматически вставляться текст из буфера обмена. Последствия этого для игры могут быть весьма неприятными (DYWYPI?). В Linux такая опция, к сожалению, остутствует.

После того, как будут проведены все эти операции, необходимо:

  1. Вернуться на самый первый экран Session;
  2. В текстовое поле, расположенное под надписью Saved Sessions, ввести желаемое название (по вашему выбору; на скриншоте в начале статьи в качестве названия используется то же имя сервера);
  3. Нажать Save.

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

При первом соединении с сервером будет задан вопрос о нашем ему доверии. Принимаем – Accept.

Подключились, что дальше? Регистрация на игровом сервере

Процесс регистрации предельно прост. Придумайте себе имя пользователя (только латиница), пароль и укажите свой адрес электронной почты для восстановления пароля, если он забудется. Выбор пункта меню – соответствующая буква. Например: r – Register, l – Login, w – Watch game in progress. Последний пункт позволяет смотреть игры людей, которые присутствуют на сервере в текущий момент.

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

Настройки игры: правим конфигурационный файл

Так же, как и в локальном варианте, в серверной игре есть возможность задавать настройки в конфигурационном файле, хранящимся в вашем профиле на сервере. Тонкости настроек выходят за рамки этой статьи, с ними можно ознакомиться в официальном Руководстве или на сайте NetHackWiki.

ascension.run

На сервере ascension.run редактирование конфигурационного файла происходит прямо в консоли. После успешного Входа (логина) нажмите N для редактирования настроек версии 3.4.3. Для редактирования настроек других вариантов, надо выбрать другую букву в той же колонке.

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

nethack.alt.org

На сервере NAO конфигурационный файл можно править двумя способами: используя встроенный редактор Virus или Web-интерфейс.

Сначала рассмотрим правку через Web-интерфейс, многим такой способ кажется более простым. Нужно войти на сайт: https://alt.org/nethack/, используя тот же логин и пароль, что и при регистрации. Выбрать ссылку: Edit your config file (current version) и далее нужную версию игры. Здесь всё довольно просто и не нуждается в дополнительных пояснениях.

Другое дело, если вы хотите редактировать файл не выходя из PuTTY.

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

Вы в редакторе Virus в командном режиме. Редактировать в этом режиме нельзя. Для редактирования перейдите в так называемый режим вставки, нажав i (внизу появится надпись: Insert). В этом режиме можно спокойно перемещаться по тексту, редактировать его, а также добавлять новые строки, нажав Enter. Но кое-чего делать в нём нельзя, а именно – нельзя удалить пустую строку. Также Del выполняет неожиданную функцию, но Backspace работает верно. По окончании редактирования текста конфигурационного файла вернитесь в командный режим, нажав Esc. Чтобы сохранить изменений и выйти, наберите :wq и нажмите Enter. Для выхода без сохранения – наберите :q! и нажмите Enter.

hardfought.org

У этого сервера в меню можно выбрать один из трёх редакторов – EE, Virus или Nano. По умолчанию будет вызываться Nano.

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

Вам будет задан вопрос (внизу экрана), сохранить изменения (Y) или нет (N). Нажатие Ctrl+C вернёт в режим редактирования.

Также можно редактировать конфигурацию, используя RC-Editor через Web-интерфейс на сайте проекта.

А надо ли править конфигурационный файл?

Нет, не надо. Это уже расширенная техника. Более того, многие настройки строго индивидуальны. Разным игрокам нравится разное. Я возьму на себя смелость привести строки, которые сильно облегчат игру, если вы пока не знаете сами, какие настройки хотите. Я привожу строки отдельно для версий NetHack 3.4.3 и 3.6.x, потому что у них разный формат. Варианты NetHack, базирующиеся на версии 3.4.3, будут поддерживать формат этой версии, а остальные – другой версии.

Проверьте, есть ли эти строчки в вашем конфигурационном файле. Если они есть, но отличаются, исправьте их.

Не все настройки будут работать на любом сервере. Это зависит от установленных патчей.

Что неплохо бы указать для 3.4.3?

OPTIONS=showexp,showscore,time,color,!autopickup
OPTIONS=autodig,fruit:slime mold,boulder:0
OPTIONS=hilite_pet
OPTIONS=hilite_hidden_stairs
OPTIONS=hilite_obj_piles
OPTIONS=paranoid_hit,paranoid_quit,paranoid_remove

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

OPTIONS=hitpointbar
OPTIONS=statuscolors
STATUSCOLOR=hp%100=green,hp%66=yellow,hp%50=orange
STATUSCOLOR=hp%33=red&bold,hp%15:red&inverse,hp%0:red&inverse&blink

Это настройка цвета для хит-поинтов. Когда их много – они зелёные, когда средне – жёлтые, когда мало – красные.

OPTIONS=menucolors
MENUCOLOR=" blessed "=green
MENUCOLOR=" holy "=green
MENUCOLOR=" cursed "=red
MENUCOLOR=" unholy "=red
MENUCOLOR=" cursed .* (being worn)"=orange&underline
MENUCOLOR= " gloves "=cyan
MENUCOLOR= " yugake "=cyan

Эти настройки добавляют цвета в инвентарь. Проклятые предметы теперь красные, священные – зелёные. А самое главное, что перчатки подсвечиваются ярко-голубым. Кто доходил до василисков, тот знает, зачем это надо.

MONSTERCOLOR=floating eye:yellow
MONSTERCOLOR=master mind flayer:lightmagenta
OPTIONS=monsters:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@8'&;:~]

Эти настройки делают опасных монстров более заметными. Плавающий глаз теперь жёлтый, а не тёмно-синий, мозгодёр – ярко-малиновый. А тени в городе Оркуса и призраки будут отображаться как восьмёрки, а не пустые символы.

А теперь то же для 3.6.x

OPTIONS=showexp,showscore,time,color,!autopickup
OPTIONS=autodig,fruit:slime mold,boulder:0
OPTIONS=hilite_pet
OPTIONS=paranoid_confirmation:attack pray Remove quit
OPTIONS=hilite_pile

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

OPTIONS=menucolors
MENUCOLOR=" blessed "=green
MENUCOLOR=" holy "=green
MENUCOLOR=" cursed "=red
MENUCOLOR=" unholy "=red
MENUCOLOR=" cursed .* (being worn)"=orange&underline
MENUCOLOR= " gloves "=cyan
MENUCOLOR= " yugake "=cyan

Эти настройки добавляют цвета в инвентарь. Проклятые предметы теперь красные, священные – зелёные. А самое главное, что перчатки подсвечиваются ярко-голубым. Кто доходил до василисков, тот знает, зачем это надо.

OPTION=statushilites
OPTION=hilite_status: hitpoints-max/up/green
OPTION=hilite_status: hitpoints-max/down/yellow
OPTION=hilite_status: hitpoints/100%/brightgreen
OPTION=hilite_status: hitpoints/<100%/green
OPTION=hilite_status: hitpoints/<60%/yellow
OPTION=hilite_status: hitpoints/<20%/red

Это настройка цвета для хит-поинтов. Когда их много – они зелёные, когда средне – жёлтые, когда мало – красные.

SYMBOLS=S_ghost:8

Увы, цвета монстров в 3.6.0 не настраиваются, поэтому я тут привожу только настройку для замены символа призраков и теней.

Просмотр статистики игр

Результаты своих и чужих игр можно просматривать на сайте NetHack Scoreboard, собирающем данные с нескольких общедоступных серверов NetHack и его вариантов. К сожалению, там пока отсутствует встроенный поиск (только фильтрация), поэтому для получения результатов, например по имени игрока, можно воспользоваться сторонним поисковым сервисом (Google, Yandex и т.д).
Например, ввести такой запрос в строке поиска:
username site:nethackscoreboard.org (где username – интересующее вас имя)
Пример запроса по имени игрока engelson. Результат -- в первой строчке выдачи поисковика.

Happy Hacking!

wiki/public_servers.txt · Последнее изменение: 2023/08/28 19:40 — engelson