- 90
- 50
Всем привет!
В общем, сливаю бешеную машину - клиент, сервер, лаунчер, в общем - мультиплеер для NFS MW 2005 года.
Сейчас люди начнут писать, что в NFS уже есть мультиплеер ( LAN ), ну или начнут писать про MWO.
Так вот, данный мультиплеер имеет часть кода самых ранних версий MWO.
А что говорить про LAN и gameranger - унылое дерьмо, в котором ты по сто раз запускаешь гонку и имеешь только 4 слота для игроков.
Писал я это чудо в 2018 году, местами поправлял что-то в 2019.
Что имеет этот мультиплеер и на чем написан?
1. Написан он на С++, сетевая либа - самописная, flexNetwork. По сути, это обычный winsock2, но более удобный.
2. Имеет такие вещи как:
Простой античит, синхронизация (говно) машин, сервер с логами, конфигом и возможностью редактирования, 100 слотов для игроков, свой лаунчер для клиента на С++, свое небольшое оформление игры ( худ очень маленький, как по мне это удобно ), недоделанный сервер для линукс, рабочий сервер для Windows, клиент также для винды. И очень, очень много разных багов и фич, перечислил я сейчас основное.
Как запустить это?
1. Чтоб запустить сервер, нам нужно запустить server.exe, логично, правда? Есть также конфиг файл server.cfg, но блин, он тут для галочки. После запуска и последующей остановке сервера, будут создаваться логи.
logs.txt. В них IP-адрес сервера, дата последнего запуска, порт на котором работал и его название.
2. Чтоб запустить саму игру, нам нужно 3 файла: itc.exe ( launcher ), client.exe и player.txt ( тут имя игрока храниться, ибо сука я тупой еблан сделал костыль ). Это всё мы перекидываем в папку с игрой. Чтоб зайти на сервер, ВНИМАНИЕ ---- от имени администратора запускаем itc.exe. Там вводит свой никнейм, жмем GO ONLINE! Появиться консоль, куда вводим IP сервера. Все, дальше игра сама открывается, уменьшается худ до размера моего мозга, после вы заходите в абсолютно любой режим. Будь-то свободная езда, или гонка.
Но работает это так. У каждого режима, как-бы свой единый мир.
Например, один игрок катается в свободной езде, а другой проходит гонку - они могут увидеть друг друга.
----
Баги:
Их тут много, перечислю основные:
1. Не видно настоящей модельки игрока, это все потому-что по-сути, все игроки - это боты. Мы просто отключаем ИИ ботов и передаем им наши координаты. Но это будет не всегда, сейчас я над этим работаю, ну, точнее, работал. Возможно через годик залью фиксы.
2. Убогая синхронизация, машину колбасит и дергает.
3. Самая важная проблема - я, сука, не сделал дисконект игроков.
Да, если мы зайдем на сервер с ID 1, а потом выйдем и снова зайдем, наш ID уже будет 2, и серверу будет похуй, что вы один играете ( а вот это грустно ).
-------------
Скриншот сервера:
Исходники этого монстра:
https://yadi.sk/d/G8eiirFDpoHGtQ
Внимание!
В коде есть в большом количестве костыли и говнокод. Много говнокода.
В общем, сливаю бешеную машину - клиент, сервер, лаунчер, в общем - мультиплеер для NFS MW 2005 года.
Сейчас люди начнут писать, что в NFS уже есть мультиплеер ( LAN ), ну или начнут писать про MWO.
Так вот, данный мультиплеер имеет часть кода самых ранних версий MWO.
А что говорить про LAN и gameranger - унылое дерьмо, в котором ты по сто раз запускаешь гонку и имеешь только 4 слота для игроков.
Писал я это чудо в 2018 году, местами поправлял что-то в 2019.
Что имеет этот мультиплеер и на чем написан?
1. Написан он на С++, сетевая либа - самописная, flexNetwork. По сути, это обычный winsock2, но более удобный.
2. Имеет такие вещи как:
Простой античит, синхронизация (говно) машин, сервер с логами, конфигом и возможностью редактирования, 100 слотов для игроков, свой лаунчер для клиента на С++, свое небольшое оформление игры ( худ очень маленький, как по мне это удобно ), недоделанный сервер для линукс, рабочий сервер для Windows, клиент также для винды. И очень, очень много разных багов и фич, перечислил я сейчас основное.
Как запустить это?
1. Чтоб запустить сервер, нам нужно запустить server.exe, логично, правда? Есть также конфиг файл server.cfg, но блин, он тут для галочки. После запуска и последующей остановке сервера, будут создаваться логи.
logs.txt. В них IP-адрес сервера, дата последнего запуска, порт на котором работал и его название.
2. Чтоб запустить саму игру, нам нужно 3 файла: itc.exe ( launcher ), client.exe и player.txt ( тут имя игрока храниться, ибо сука я тупой еблан сделал костыль ). Это всё мы перекидываем в папку с игрой. Чтоб зайти на сервер, ВНИМАНИЕ ---- от имени администратора запускаем itc.exe. Там вводит свой никнейм, жмем GO ONLINE! Появиться консоль, куда вводим IP сервера. Все, дальше игра сама открывается, уменьшается худ до размера моего мозга, после вы заходите в абсолютно любой режим. Будь-то свободная езда, или гонка.
Но работает это так. У каждого режима, как-бы свой единый мир.
Например, один игрок катается в свободной езде, а другой проходит гонку - они могут увидеть друг друга.
----
Баги:
Их тут много, перечислю основные:
1. Не видно настоящей модельки игрока, это все потому-что по-сути, все игроки - это боты. Мы просто отключаем ИИ ботов и передаем им наши координаты. Но это будет не всегда, сейчас я над этим работаю, ну, точнее, работал. Возможно через годик залью фиксы.
2. Убогая синхронизация, машину колбасит и дергает.
3. Самая важная проблема - я, сука, не сделал дисконект игроков.
Да, если мы зайдем на сервер с ID 1, а потом выйдем и снова зайдем, наш ID уже будет 2, и серверу будет похуй, что вы один играете ( а вот это грустно ).
-------------
Скриншот сервера:
Исходники этого монстра:
https://yadi.sk/d/G8eiirFDpoHGtQ
Внимание!
В коде есть в большом количестве костыли и говнокод. Много говнокода.