Вопрос Мультиплеер в игре

  • Автор темы Автор темы Tifok
  • Дата начала Дата начала
Пользователь
Пользователь
Статус
Оффлайн
Регистрация
10 Ноя 2019
Сообщения
839
Реакции
135
Решил написать простенькую 2d игру с мультиплеером на c#, где появляются на карте 2 игрока и могут бегать по этой карте, как можно реализовать мультиплеер?
 
Как вариант - для реализации мультиплеера можно использовать технологию WebSocket. Для этого Вам нужно арендовать VPS и поднять на хостинге вебсокет сервер, который бы принимал пакеты и рассылал их остальным клиентам (игрокам). Рекомендую попробовать сначала реализовать простой счётчик при помощи сокетов. На сервере есть число, которое клиенты могут увеличивать на 1, после этого можно реализовывать мультиплеер для игры.
 
Как вариант - для реализации мультиплеера можно использовать технологию WebSocket. Для этого Вам нужно арендовать VPS и поднять на хостинге вебсокет сервер, который бы принимал пакеты и рассылал их остальным клиентам (игрокам). Рекомендую попробовать сначала реализовать простой счётчик при помощи сокетов. На сервере есть число, которое клиенты могут увеличивать на 1, после этого можно реализовывать мультиплеер для игры.
Информация полезна thx.
А если мультиплеер, допустим локальный что можешь ещё посоветовать?
 
Информация полезна thx.
А если мультиплеер, допустим локальный что можешь ещё посоветовать?
Разницы никакой, если Вы с вторым игроком в одной сети, то всё будет работать. Просто запускаете сервер на своём ПК и подключаетесь, если же хотите схему без центрального сервера, то это нужно реализовывать P2P сеть по UDP протоколу, но это сложно.
 
Это ведь тоже самое, разве нет?
Дедик - dedicated server, т.е физический сервер
VDS / VPS - virtual dedicated / private server, т.е виртуальный сервер
Да и так-то можно и без них обойтись. P2P никто не отменял, а NAT только в помощь)
 
Дедик - dedicated server, т.е физический сервер
VDS / VPS - virtual dedicated / private server, т.е виртуальный сервер
Да и так-то можно и без них обойтись. P2P никто не отменял, а NAT только в помощь)
Ну в целом я так и подумал, но все же решил написать. А на счёт P2P, пытался я написать на golang P2P чат, в целом это можно сделать, но куда легче взять, да снять VPS и не париться.
 
Ну в целом я так и подумал, но все же решил написать. А на счёт P2P, пытался я написать на golang P2P чат, в целом это можно сделать, но куда легче взять, да снять VPS и не париться.
А я правильно понимаю что это для браузерных игр web socket?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Через WinSock можешь впринципе реализовать, делается не сложно, на гитхабе и ютубе полно всего про это.
 
Да как угодно можно реализовать.
Если тебе важна скорость передачи - UDP
Если менее важна скорость, но тебе нужно гарантировано передавать и получать пакеты - TCP

Можно ещё использовать и WebSocket, как говорил человек выше, бонусом скажу что вебсокеты можно проксировать через Cloudflare, причём даже за бесплатно!! (там есть ток ограничения, можешь нагуглить, но тебе в самый раз пойдёт)
 
Как вариант - для реализации мультиплеера можно использовать технологию WebSocket. Для этого Вам нужно арендовать VPS и поднять на хостинге вебсокет сервер, который бы принимал пакеты и рассылал их остальным клиентам (игрокам). Рекомендую попробовать сначала реализовать простой счётчик при помощи сокетов. На сервере есть число, которое клиенты могут увеличивать на 1, после этого можно реализовывать мультиплеер для игры.
А как реализовать общение между 2мя людьми по глобальной сети,по локалке это я понял,не сложно,а вот с глобальной сетью как,можно по подробнее?Типо надо какие-то порты или что-то такое открывать или искать
 
Да как угодно можно реализовать.
Если тебе важна скорость передачи - UDP
Если менее важна скорость, но тебе нужно гарантировано передавать и получать пакеты - TCP

Можно ещё использовать и WebSocket, как говорил человек выше, бонусом скажу что вебсокеты можно проксировать через Cloudflare, причём даже за бесплатно!! (там есть ток ограничения, можешь нагуглить, но тебе в самый раз пойдёт)
Хотел бы узнать как реализовать общение между 2мя людьми в глобальной сети с помощью udp?
 
Хотел бы узнать как реализовать общение между 2мя людьми в глобальной сети с помощью udp?
Да как и обычно с TCP - открыть порт.
Если прям есть желание - набросал простой UDP клиент-сервер с гиста.
1654029117549.png


Можешь поздороваться с моим UDP сервером:

Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.

 
Да как и обычно с TCP - открыть порт.
Если прям есть желание - набросал простой UDP клиент-сервер с гиста.
Посмотреть вложение 205820

Можешь поздороваться с моим UDP сервером: Скрытое содержимое
Если я не ошибаюсь то порт открывается через настройку роутера?
И вроде как вышло подключение к твоему серверу, если правильно понял
 
Если я не ошибаюсь то порт открывается через настройку роутера?
И да и нет: Если у тебя нет статического ("белого") IP адреса - то скорее всего ты находишься за NAT-ом своего провайдера - а это значит что ты не откроешь просто так порт.
Попробуй открыть порт на роутере - если не откроется - звони провайдеру и спрашивай как открыть порт. (Если будут доёбываться зачем - скажи что хочешь камеры поставить, чтоб меньше вопросов задавали)

И вроде как вышло подключение к твоему серверу, если правильно понял
Ага, по логам вижу:

Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.

 
Да как и обычно с TCP - открыть порт.
Если прям есть желание - набросал простой UDP клиент-сервер с гиста.
Посмотреть вложение 205820

Можешь поздороваться с моим UDP сервером: Скрытое содержимое
И да и нет: Если у тебя нет статического ("белого") IP адреса - то скорее всего ты находишься за NAT-ом своего провайдера - а это значит что ты не откроешь просто так порт.
Попробуй открыть порт на роутере - если не откроется - звони провайдеру и спрашивай как открыть порт. (Если будут доёбываться зачем - скажи что хочешь камеры поставить, чтоб меньше вопросов задавали)


Ага, по логам вижу:
Скрытое содержимое
Спасибо, да я подключил статический айпи и открыл порт, как я понимаю когда айпи не статический намного сложнее открыть порт?
 
Назад
Сверху Снизу