[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, так вот, легче написать свой костыль на сокетах, чем эту фигню 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 | Дата: Суббота, 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, ты заблокировал прием ЛС от группы "Пользователи", так что не обессудь, тут выложу
В ЛС я давал ссылку на мои наработки - 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
|
|
| |