1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

DOSBox Net Play

Тема в разделе "Мастерская", создана пользователем iunnamed, 1 окт 2016.

  1. iunnamed

    iunnamed

    Хелпер

    Регистрация:
    15 янв 2007
    Сообщения:
    1.202
    Тестовая разработка. Писалась быстро на коленке для проверки.
    В чём суть: возможность играть в hot-seat игры по сети непредусматривающие такой возможности в оригинале (Mine Bombers, Doom2D, Liero Pro, etc.).
    Реализуется это за счёт перехвата и обмена кодов нажатых клавиш между компьютерами.
    Увы, всё упёрлось в синхронизацию, так что в итоге, через эту штуку в том виде что сейчас есть играть можно только в игры не требующие управления в реальном времени (шахматы, шашки, крестики-нолики какие-нибудь и т.п.).
    Вообще, тут главное - это идея. Если кто-нибудь возьмётся за исходные коды DOSBox и внедрит всё это дело (с синхронизацией и прочими вещами), то такой штуке цены не будет, ибо можно будет играть в игры для двоих и более игроков по сети через DOSBox, где это не было изначально предусмотрено. Можно даже игры в многопользовательском режиме проходить - сначала один играет, потом второй и так далее. В общем, всё это идеи, что можно было бы сделать, если бы эта штука работала как задуманно. Если есть желающие - подкиньте идею авторам DOSBox (хотя, возможно, она и не новая).

    На примере Mine Bombers (сразу предупреждаю, что синхронизации не будет, персонажи игроков будут бегать по разному!).
    1) Ставим игру Mine Bombers v3.11. Настраиваем (заранее нужно договориться кто какими кнопками играть будет).
    2) Обязательно отключаем в ней Randomize, иначе у игроков не только карты будут разные, но и появляться они будут в разных углах карты. Поэтому патчим исполняемый файл:
    MB.EXE
    0002F977: 89 85
    0002F97B: 89 85
    3) Ставим и настраиваем DOSBox.exe (только версии 0.74). В секции autoexec должно быть что-то типа:
    Код:
    mount c: games
    c:
    cd mb311
    mb.exe
    exit
    Обращаю внимание:
    - последняя команда должны быть exit, чтобы если кто-то отлучился от компьютера, то другой игрок не мог с диска файлы какие-либо удалить (т.к. передаются ВСЕ нажатые клавиши);
    - НЕ монтируйте корень какого-либо диска, а только отдельную папку с играми, а лучше отдельной игрой;
    - на всякий случай первый символ команды mount через 5 секунд после запуска (чтобы успело смонтироваться всё что нужно для игры) затирается нулём, чтобы эта команда не была доступна;
    - эта программа поставляется по принципу "КАК ЕСТЬ", так что не играйте с кем попало, иначе останетесь без важных файлов на диске.

    4) Кидаем в папку к DOSBox.exe файлы dbnetply.exe и dbnetply.ini после чего раздаём эту сборку DOSBox с игрой всем кто будет играть.
    5) Теперь тот кто будет сервером в dbnetply.ini пишет type = 1, а тот кто клиентом type = 0 и у параметра addr указывает IP-адрес или имя сервера для подключения (параметр addr настраивается только у клиента). Ещё можно поменять порт с 1336 на какой-либо другой свободный, но это должны поменять все: и сервер и клиенты. Наконец, последняя опция cmax указывает сколько всего клиентов могут подключиться к серверу (сам сервер в это количество не входит) и действует только при type = 1 (на стороне сервера).
    6) После этого сначала сервер запускает игру через dbnetply.exe и ждёт пока появится титульный экран и только после этого игру запускают клиенты через тот же dbnetply.exe.
    7) Можно играть, но, как выше писал, из-за задержки в обработке и пересылке клавиш игроки будут перемещаться не синхронно. Иногда нажатые клавиши просто пропадают (ещё раз повторюсь, код писался на коленке как эксперементальный).
    8) Не пытайтесь запускать несколько DOSBox на одном компьютере. Это можно сделать, но толку мало - пока окно DOSBox не активно он останавливает эмуляцию, так что придётся после каждой нажатой клавиши переключаться между всеми окнами дожидаясь пока её нажатие везде обработается.

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

    Вложения:

    • dbnetply.zip
      Размер файла:
      10,1 КБ
      Просмотров:
      65
    ivan866, lordi, M210 и 6 другим нравится это.
  2.  
  3. Tigoro

    Tigoro

    Регистрация:
    4 фев 2010
    Сообщения:
    2.937
    "последняя команда должны быть exit, чтобы если кто-то отлучился от компьютера, то другой игрок не мог с диска файлы какие-либо удалить (т.к. передаются ВСЕ нажатые клавиши)"
    dosbox-killer detected :)
     
  4. iunnamed

    iunnamed

    Хелпер

    Регистрация:
    15 янв 2007
    Сообщения:
    1.202
    Дарк Шнайдер нравится это.
  5. vorob

    vorob

    Регистрация:
    9 мар 2003
    Сообщения:
    1.674
    Так друзья. Ещё пару дней назад я плакался из-за музыки в сорспорте, а теперь у меня новый загон. Можно ли играть в десматч по интернету через досбокс в оригинальном думе?


    Может как-то можно по интернету сделать виртуальную локалку и дальше настроить два досбокса?
     
  6. vorob

    vorob

    Регистрация:
    9 мар 2003
    Сообщения:
    1.674
    Отбой, Crispy Doom - Chocolate Doom это могут. Уже замутил сервак и проверил думчанский. Работает все :)
     
  7. ivan866

    ivan866

    Регистрация:
    24 авг 2014
    Сообщения:
    221
    Есть смысл запускать эту петрушку под Гостевой учетной записью.
    Из игр с мультиплеером, но без сетевого режима на ум приходят Lotus Esprit Turbo Challenge (1990, Amiga) Knightmare (1992, DOS) Fire Power (1988, DOS) Ugh! (1992, DOS) Micro Machines 2: Turbo Tournament (1995, DOS) Super Speed: Deluxe Edition (1995, DOS) Arcade Volleyball (1988, DOS) Xenon 2: Megablast (1990, DOS) (hotseat).
     
    Последнее редактирование: 9 фев 2018
  8. ZaRR

    ZaRR

    Регистрация:
    18 ноя 2015
    Сообщения:
    1.580
    Вот это действительно мощная вещь! Доделал бы кто-нибудь!
     
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление