Воскресенье, 10 Ноября 2024, 04:31

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
[GM]Пример онлайн игры с сервером на С++.
ETUN4Дата: Суббота, 21 Сентября 2013, 19:08 | Сообщение # 1
частый гость
Сейчас нет на сайте
Всем привет!
Я нашёл пример сервера на С++, там было только подключение клиента и передача им переменной.
Я решил его усовершенствовать.


В примере реализовано передвижение игроков, их поворот в сторону мыши, небольшая консоль на сервере и т.д.
Весь код как в клиенте, так и в сервере прокомментирован и читаемый(с отступами и т.п.). sm_notepad
Работает с портом 12564, но можно изменить. Максимальное количество игроков - 32, но можно изменить на какое-либо другое значение. В сервере для каждого игрока создаётся собственный класс и поток, который работает параллельно и независимо от других. Сервер представлен как консольное приложение, розрабатывался на Microsoft Visual Studio C++ 2008 Express Edition, клиент - на GameMaker 8 Pro.
Пример разрешается использовать в своих играх, но обязательно уведомлять об этом автора, то есть меня.
Скриншоты сервера и клиента во ниже.

Скачать сам пример можно так же во вложениях. Внутри две папки, в одной клиент и дллка, во второй проект сервера написанном на С++, в архиве присутствует екзешник сервера, клиента - нету.


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



Сообщение отредактировал ETUN4 - Суббота, 21 Сентября 2013, 20:54
IzaronДата: Суббота, 21 Сентября 2013, 19:33 | Сообщение # 2
Rammstein forever
Сейчас нет на сайте
Молодец, кому-нибудь пригодится.

P.S. Прочитал исходники, которые ты зачем-то выложил вперемешку с остальным мусором вместо обычного екзешника из Release, так вот, легче написать свой костыль на сокетах, чем эту фигню sad
P.P.S. Надо вместе с gm-файлом выкладывать еще скомпиленную программу, у меня gm нету
P.P.P.S. Ну и где можно изменить количество игроков?)
P.P.P.P.S. Блин, едва понял твой пример, какой-то он запутанный полностью. Дать тебе исходники намного более понятного костыля для сокетов на C++?

Добавлено (21.09.2013, 19:33)
---------------------------------------------

Цитата (ETUN4)
В сервере для каждого игрока создаётся собственный класс и поток

*объект класса

Ты это только на своем компьютере тестировал?
Для подключения юзеров по всему интернету, если у тебя подключение по роутеру, нужно заводить хамачи, клиенты тоже должны качнуть хамачи и подключиться к твоей группе в хамачи, и подключать программу-клиент тоже надо к хамачному IP
ApatiДата: Суббота, 21 Сентября 2013, 20:09 | Сообщение # 3
заслуженный участник
Сейчас нет на сайте
Цитата (Izaron)
Для подключения юзеров по всему интернету, если у тебя подключение по роутеру, нужно заводить хамачи, клиенты тоже должны качнуть хамачи и подключиться к твоей группе в хамачи, и подключать программу-клиент тоже надо к хамачному IP

А можно просто порты прокинуть в роутере, а не мракобеситься с хамачами.
IzaronДата: Суббота, 21 Сентября 2013, 20:11 | Сообщение # 4
Rammstein forever
Сейчас нет на сайте
Цитата (Apati)
А можно просто порты прокинуть в роутере, а не мракобеситься с хамачами.

А можно просто поставить сервак на компьютере, который тупо без роутера подключается, чем мракобесить юзеров
ApatiДата: Суббота, 21 Сентября 2013, 20:21 | Сообщение # 5
заслуженный участник
Сейчас нет на сайте
Цитата (Izaron)
А можно просто поставить сервак на компьютере, который тупо без роутера подключается, чем мракобесить юзеров

Причем тут юзеры?
ETUN4Дата: Суббота, 21 Сентября 2013, 20:24 | Сообщение # 6
частый гость
Сейчас нет на сайте
Цитата (Izaron)
вперемешку с остальным мусором
почему же в перемешку? Там всё по папкам.
Цитата (Izaron)
Надо вместе с gm-файлом выкладывать еще скомпиленную программу
Там есть екзешник как клиента так и сервера, клиента - рядом с исходником, а сервера - в папках release, debug.
Цитата (Izaron)
Ну и где можно изменить количество игроков?)
Переменная maxplayers отвечает за количество мест для клиентов)
Цитата (Izaron)
Дать тебе исходники намного более понятного костыля для сокетов на C++?
Дай))
Цитата (Izaron)
Ты это только на своем компьютере тестировал?
Нет, я также не один раз тестировал по интернету. Сервер лично я сам держал. Всё нормально работает.
IzaronДата: Суббота, 21 Сентября 2013, 20:25 | Сообщение # 7
Rammstein forever
Сейчас нет на сайте
Цитата (Apati)
Причем тут юзеры?

Ну потому что для покдлючения к серверу приходится сначала скачать хамачи, присоединится к IP, по которому будешь играть... А народ нынче требовательный
ApatiДата: Суббота, 21 Сентября 2013, 20:29 | Сообщение # 8
заслуженный участник
Сейчас нет на сайте
Цитата (Izaron)
Ну потому что для покдлючения к серверу приходится сначала скачать хамачи, присоединится к IP, по которому будешь играть... А народ нынче требовательный

Так о чем я и говорю - просто прокинуть порты в роутере и не нужны никакие хамачи. Всяко проще, чем ради поднятия сервера напрямую подключать комп.
IzaronДата: Суббота, 21 Сентября 2013, 20:30 | Сообщение # 9
Rammstein forever
Сейчас нет на сайте
Цитата (ETUN4)
Там есть екзешник как клиента так и сервера, клиента - рядом с исходником, а сервера - в папках release, debug.

Ай, нету там екзешника клиента!)
Цитата (ETUN4)
Дай))

Дал
ETUN4Дата: Суббота, 21 Сентября 2013, 20:35 | Сообщение # 10
частый гость
Сейчас нет на сайте
Izaron, Спасибо)

Сообщение отредактировал ETUN4 - Суббота, 21 Сентября 2013, 20:36
IzaronДата: Суббота, 21 Сентября 2013, 20:36 | Сообщение # 11
Rammstein forever
Сейчас нет на сайте
Цитата (ETUN4)
Izaron, а пример можно?)

В личных сообщениях же
ETUN4Дата: Суббота, 21 Сентября 2013, 20:55 | Сообщение # 12
частый гость
Сейчас нет на сайте
Цитата (Izaron)
Ай, нету там екзешника клиента!)
Извини, точно, я просто старый архив выложил, сейчас кину)

Добавлено (21.09.2013, 20:55)
---------------------------------------------
Заменил, жмите скачать.

artorДата: Среда, 28 Мая 2014, 09:10 | Сообщение # 13
Типичный игродел
Сейчас нет на сайте
Интересная вещь, попробовал, понравилось)

Frostweep Games

Сообщение отредактировал artor - Среда, 28 Мая 2014, 11:53
nilremДата: Среда, 28 Мая 2014, 09:58 | Сообщение # 14
Просветленный разум
Сейчас нет на сайте
Цитата artor ()
123


Это бан. Не делай так больше.


Windmill 2

WindMill 2D Game Engine
artorДата: Среда, 28 Мая 2014, 11:52 | Сообщение # 15
Типичный игродел
Сейчас нет на сайте
nilrem, да случайно, хотел в лс отправить письмо, случайно написал в тему, а удалить пост я хз как:(

Frostweep Games
IzaronДата: Среда, 28 Мая 2014, 13:00 | Сообщение # 16
Rammstein forever
Сейчас нет на сайте
artor, ты заблокировал прием ЛС от группы "Пользователи", так что не обессудь, тут выложу smile

В ЛС я давал ссылку на мои наработки - http://www.gamedev.ru/projects/forum/?id=179811
Но сразу говорю, что сервер на С++ это ядреный звездец, С#/Java намного легче в этом смысле, не говоря уже про встроенные сетевухи в движках наподобии Game Maker и Unity3D
artorДата: Среда, 28 Мая 2014, 15:41 | Сообщение # 17
Типичный игродел
Сейчас нет на сайте
Izaron, аа, просто я больше Cpp предпочитаю))

Добавлено (28.05.2014, 15:41)
---------------------------------------------
Izaron, аа, просто я больше Cpp предпочитаю))


Frostweep Games
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг