Когда был у Ромика, заметил валяющийся без дела джойстик. В смысле, геймпад. Приехал домой и вспомнил что у меня тож такие штуки где-то валялись. Мой Saitek P880 и Катюхин не помню какой модели. А раз они есть, из надо использовать. Так родилась мысля попробовать поиграть в дендивские игрушки через инет. Что приставочные эмуляторы это делать позволяют я слышал, но вот на практике сталкиваться не приходилось.
Штудирование яндекса показало что всё довольно просто. В принципе, можно настроить соединение p2p, т.е. напрямую. Но это не есть зер гуд, для полного кайфа требуется игровой сервер. Коих в инете есть большая куча и маленький бугорок. Вот один, для примера Однако пользоваться левыми серверами не наш метод, интересней свой сервачог замутить. Люблю я велосипеды изобретать и огород городить, такая вот мания у меня.
Первым кандидатом на роль игрового сервера стала софтина под названием Kaillera. Собссно, это законодатель мод в сием действе, клиент кайлеровский есть почти во всех эмулях. Есть варианты сервера под винду, под линух и под фрю. Под фрёй сервер запускаться не захотел, ибо нету libc_r.so, а этой библиотеки в фре начиная эдак с шестой веки уже и нет. А мутить режим совместимости на боевом сервере как-то не хоцца. Линуха под рукой у меня нет (божеупаси), так что остаётся ламерская винда.
После распаковки архива kaillerasrv-номер_версии-win32.zip имеем три файлика. Текстовый файлик с описанием изменений с предыдущих версий, исполняемый файл (собссно, сервер) и файл настроек kaillerasrv.conf
Вот этот конф и надо немного поправить. Все настройки названы по-человечески, так что всё понятно.
ServerName=имя сервера, - тут пишем что угодно.
Port=27888 - номер порта который сервер будет слушать на предмет входящих подключений. Порт 27888 является портом по-умолчанию и его рекомендуется таким и оставить, ибо эмуляторный клиент будет именно на этот порт ломиться, если в адресе подключения не указать другой. Так что получаем экономию времени - при подключении не надо будет набирать g0l.ru:27888 а достаточно будет просто дать адрес сервера - g0l.ru
Следующий параметр, IP= - тут могём указать ip-адрес нужного интерфейса, который сервер будет слушать. Это имеет смысл если сервак (железка) имеет несколько сетевых интерфейсов. Если же только один - тут можно ничего не указывать, определит автоматом.
AllowWebAccess=1 - если =1 то можно зайти браузером по адресу IP:Port и увидеть небольшую статистику - сколько народу онлайн и т.д.
Остальные параметры влом разбирать, там всё прекрасно понятно.
Подправив файл конфига, стартуем сервак. И уже можно подключаться. Но есть одна беда - этот kaillera имеет дыру для которой есть вполне исправный эксплойт. Так что держать его постоянно запущенным и доступным из инета довольно стрёмно. Так что забиваем на этот и ищем другой сервер.
Для меня им стал Emulinker. Тот же kaillera, но модифицированный, вроде без дыр. И написанный на Java. Соответственно, кроссплатформерный. Ему пофиг что за ось на сервере, лишь бы JRE стояла. Качаем архив emulinker-kaillera-server-номер_версии.zip, распаковываем.
Получаем побольше файликов чем у кайлеры. Файлы настроек хранятся в директории conf. Для первого запуска достаточно посмотреть файлик emulinker.cfg. Там уже есть все настойки по дефолту, с которыми сервер прекрасно запустится. Так что запускаем - файл server.bat (ибо он у нас в винде будет, в *NIX системах стартуем файлик start-server.sh). Если виртуальная машина JAVA на компе не установлена то нифига и не запустится. Надо жаву ставить - вот отсюда.
Всё, сервер запущен и трепещет в ожидании подключений игроков. Теперь самое время подключаться. А подключаться надо эмулятором. Я проверил два эмуля, один NES, второй SEGA.
Из дендивских (NES) мне больше всего понравился Nestopia. Из сеговских - GENS.
Принцип подключения у этих двух эмуляторов примерно одинаковый. Везде используется практически один и тот же клиент Kaillera - kailleraclient.dll. Кстати, есть ещё модифицированная библиотека клиента, как раз для подключения напрямую, p2p. Но её я пока не пробовал.
Итак, пробуем поиграть через инет в дендивскую игрушку Chip And Dale.
Стартуем эмулятор Nestopia. Сразу идём в меню, закладка Netplay. А там пункт Connect.
Полный размер Тут надо добавить игры, в которые собираемся играть по сети
Жмём кнопку Add и открываем файл с нужной игрой (файлики эти обычно имеют расширение .nes). Можно сразу сколько угодно игр добавить в этот список. После этого выбираем нужную игру и жмём кнопку "Launch...". Запустится клиент сетевого подключения и в главном окне сразу появится список достуных игровых серверов по всему миру. Если рабочих серверов много, а мы хотим к своему коннектиться, лучше сразу жать кнопочку Stop, а то опрос серверов будет довольно долгим.
В поле Username вбиваем свой ник, т.е. под каким именем нас будет сервер видеть. После этого жмём на кнопочку "Enter IP ..." и в появившееся окошко вбиваем извесный нам адрес сервера. В моём случае это g0l.ru Порт можно не указывать, если сервер настроен на стандарный порт 27888. Адрес можно указывать как имя хоста или просто ip-адрес, пофиг.
Допустим, мы тут первые, так что создаём сетевую игру. Чтоб к ней смогли подключиться другие. Жмём кнопку "Create new game" (соответственно, чтобы подключиться к уже созданной игре, другим людям надо будет выбрать нужную игру из списка и нажать "Join"). При создании игры всплывёт окошко с отсортированными по алфавиту играми. Выбираем нужную и щёлкаем по её названию. Видим примерно такую картину -
Теперь достаточно лишь выбрать в меню игры режим с двумя игроками и вперёд.
С сеговским эмулятором GENS тоже самое - процесс подключения аналогичен. Есть только одно отличие - для того чтобы начать процесс подключения к серверу надо сначала открыть игру чтоб эмуль запомнил где игры лежат. Т.е. запускаем gens.exe, меню File->Open Rom. Выбираем файл с игрой (расширение smd,bin,или архивированные файлы), открываем игру и идём во вкладку File->Netplay. Дальше всё точно то же что и в прошлом примере.
Вот результат:
Полный размер Игра на два игрока с использованием свежеподнятого сервера - Double Dragons And Battletoads, SEGA
Во 1 телеком в туле наконец то ожил, а то я уж думал что он окночательно окалеет в конвульсиях последних дней... Во 2 геймпад не валяется без дела, а очень активно помогает мне справляться с продуктами Elektronic Arts, и в 3 жду обещанные эмули на мыло или фтп... PS Не забудь про лодки :).
niki Вторник, 7 Июля, 2009 23:17 цитировать ссылка на коммент
Gol Вторник, 7 Июля, 2009 23:36 цитировать ссылка на коммент
Domini Kane Вторник, 7 Июля, 2009 23:41 цитировать ссылка на коммент
PS Не забудь про лодки :).
Domini Kane Вторник, 7 Июля, 2009 23:48 цитировать ссылка на коммент
Gol Среда, 8 Июля, 2009 00:00 цитировать ссылка на коммент
Gol Среда, 8 Июля, 2009 00:01 цитировать ссылка на коммент