Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Программирование игр для компьютеров > Blitz3D

Ответ
 
Опции темы
Старый 17.12.2008, 12:01   #1
falcon
Разработчик
 
Аватар для falcon
 
Регистрация: 12.07.2008
Сообщений: 523
Написано 196 полезных сообщений
(для 470 пользователей)
client<->server

Всем привет
в общем пишу скромную мультипелереную космическую стрелялку с использованием TCP
работать то все работает...

но возникают вопросы
например почему считаеться что нельзя реализовать нормальный сервер на блице?
я впервые взялся за сеть и сравнивать несчем
но примерно представить могу ... ну например работа с данными... сохранения параметров игроков... вроде MySQL базы для этого существуют, но как с ними работать я хз... так на вскидку в тхт можно работать но перебирать данные из файлов ... кажеться глупым (скорость перебора, поиска... жесть)

еще бы знать как в играх организоввывать передачу пакетов... передавать 1 раз всю инфу 1им толстым пакетом? (сейчас я банки по 25-30 байт передаю... )

как часто надо обновлять клиент и сервер (передавать пакеты)
(вроде это называеться синхронихация)
сейчас я передаю каждые 10 мс

насколько тяжело писать аналогичный блицевскому СЕрвер На С++ , С, С#,Pascal,Delphi, qBasic ( )

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

я наверно предпочел бы C++ или аналогичные Сяподобные языки... как то они полезнее кажуца
что следует почитать про тцп на с++?
есть ли семплы рабочие написанные на цпп (аналогичные блицевским семплам про тцп... сервер, клиент, их общение)


как бы грамотно организовать вопрос.....

ну вот:
какой лучше выбрать инструмент для написания более менее нормального сервера для ОнлайнКосмическогоСимулятора
с расчетом от 50 человек онлайн (хотя играть будет не больше двуХ)

возможности в игре - летать стрелять...больше ничего нету

в блице использую PhysX ... пока не разобрался с некоторыми багами , но разберусь.

наверняка сервер для такой игры на блице написать не сложно (учитывая что мне осталось ток передавать покеты о факте выстрела... а так все уже готово)
но хочется что бы все было более грамотно... и хотелось бы знать как делаються северы НА САМОМ ДЕЛЕ
(Offline)
 
Ответить с цитированием
Старый 18.12.2008, 15:17   #2
Damp
Знающий
 
Регистрация: 12.07.2007
Сообщений: 297
Написано 50 полезных сообщений
(для 133 пользователей)
Ответ: client<->server

Если у тебя клиенты будут на блице, а сервер будет игровым, т.е. сервер будет вести именно 3д мир как он есть на клиентах, то... всеравно этот мир нужно тоже на блице делать, т.е. при этом от блица так и так не открутишься )) , хотя сам протокол можно обслуживать и какй-то либой, не обязательно блицевскими TCP функциями.
Другое дело если сервер только пересылает данные и не считает ни коллизий, ни каких-то расстояний, не ведет синхронизации по своему миру, тогда на чем угодно.
(Offline)
 
Ответить с цитированием
Старый 18.12.2008, 15:44   #3
falcon
Разработчик
 
Аватар для falcon
 
Регистрация: 12.07.2008
Сообщений: 523
Написано 196 полезных сообщений
(для 470 пользователей)
Ответ: client<->server

так
вот и новая информация....

ну сервер будет "неигровым"
тоесть в идеале я бы хотел достигнуть "досовского" окшка
запускаеш - конектишся и все

тоесть... сервер лиш передает информацию... пересылает ХП (ну тут же просто переменные)

на чем можно такое чудо написать? просто и быстро...
и где почитать инфу... семплы о сетевом кодинге на данном языке... насколько на ЦПП труднее писать севрер аналогичный блицевскому
(Offline)
 
Ответить с цитированием
Старый 19.12.2008, 15:09   #4
Damp
Знающий
 
Регистрация: 12.07.2007
Сообщений: 297
Написано 50 полезных сообщений
(для 133 пользователей)
Ответ: client<->server

Просто и быстро - это на высоких языках )) , ВБ, делфи или его сиобразный друг билдер. Там полно удобных компонент скажем indy, задача сведется практически к обработке событий.
Можно отказаться от TCP и взять либу RakNet, более быстрый протокол, удобство чем-то директплей напоминает, из блица юзается не хуже чем из других.
Это все если сервак будет у тебя дома )) , а если независимый, то наверно в сторону php надо смотреть, правда там свои особенности.
Есть совсем простое решение, которое я для себя выбрал - это готовые irc серверы, не лучшее, но полная халява ))
(Offline)
 
Ответить с цитированием
Старый 26.12.2008, 09:35   #5
Spiderman
Знающий
 
Аватар для Spiderman
 
Регистрация: 28.07.2008
Адрес: Киев
Сообщений: 228
Написано 61 полезных сообщений
(для 191 пользователей)
Ответ: client<->server

Люди как из блица прорваться через прокси?
При использовании стандартных функций подключения все виснет, не может подключиться так как все операции идут через прокси сервер и он блокирует передачу если не указаны логин/ пароль пользователя.
Пробовал дописать что-то типа autorization: proxy user passwd

Подскажите как правильно сформировать get запрос
__________________
Тяжела жизнь программиста: радость находки своего бага всегда омрачает осознание собственной тупости...
(Offline)
 
Ответить с цитированием
Старый 26.12.2008, 14:02   #6
Damp
Знающий
 
Регистрация: 12.07.2007
Сообщений: 297
Написано 50 полезных сообщений
(для 133 пользователей)
Ответ: client<->server

Во! И я бы с удовольствием про это почитал. Тоже хз как с прокси быть. Причем прокси еще и разные бывают...
(Offline)
 
Ответить с цитированием
Старый 29.12.2008, 15:54   #7
Tadeus
Троллота
 
Регистрация: 09.07.2007
Сообщений: 1,829
Написано 554 полезных сообщений
(для 1,772 пользователей)
Ответ: client<->server

Ы? Надо просто в OpenTCPStream указывать ИП прокси, а хост и адресс указывать непосредственно в запросе

Но как прорваццо напрямую с помощью ТСР - мне неизвесто =\
(Offline)
 
Ответить с цитированием
Старый 19.09.2009, 18:52   #8
Dakar
Оператор ЭВМ
 
Регистрация: 17.09.2009
Адрес: Казахстан -> Рудный
Сообщений: 42
Написано 10 полезных сообщений
(для 23 пользователей)
Ответ: client<->server

Есть неплохой опыт в написании клиент серверных приложений если нужна подробная инфо то пиши в асю помагу icq: 444-530-841
__________________
Проект:
Название: Solium - Last War.
Жанр: Онлайн шутер с элементами стратегии.
Завершён: 45%
Ведётся работа над сервером игры... (20 %)
Сайт проекта: http://shwl-center.at.ua/
===========
Дайте сказать немому...
===========
"Да, ты можешь использовать готовые решения, и всё будет работать, но МОЗГОВ тебе от этого, не прибавится!"
===========
Помните! Ничто не защищает Ваши зубы 24 часа в сутки так хорошо, как уважительное отношение к окружающим!
(Offline)
 
Ответить с цитированием
Старый 20.09.2009, 19:54   #9
panmazai
AnyKey`щик
 
Регистрация: 22.05.2009
Сообщений: 4
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: client<->server

Сейчас наткнулся на канувшую в пучине времени статью , на столько древнюю..., что высохли моря и океаны,и камни с тех пор превратились в пыль...гхм, так вот - "онлайн игра, это возможно?( конект 500+ ) ", и кое над чем поразмыслил , после слов Шуранова- все онлайн игры делаются на UDP, но ведь полностью полагаться на этот протокол нецелесообразно, ведь очень велика вероятность пропустить важные данные ,а с дерект плеем ободряющих результатов не достичь....
1 Так вот а если, создать некий "гибрид" , который будет, оцифровывать все не особо важные потоки на UDP, а там регистрацию, ввод паролей, ну и в общем важную хрень вместе с онлайн адаптером на ТСР ..... используя только блицевския команды- каких результатов ,предположительно, можно достичь ??
2 а если сюда ещё и "замесить" инакомыслящие библиотеки типа к-нет-либ ?
И наконец 3 , разрабатывать клиентскую часть как и предполагалось бы в пункте 1 на блице(на блицевских стандартных функциях+ либы с МуСол) , а серверную часть писать на С++ тоже с МуСол

или есть ещё какие то решения ?
(Offline)
 
Ответить с цитированием
Старый 21.09.2009, 08:12   #10
Dakar
Оператор ЭВМ
 
Регистрация: 17.09.2009
Адрес: Казахстан -> Рудный
Сообщений: 42
Написано 10 полезных сообщений
(для 23 пользователей)
Ответ: client<->server

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

Вобщем моё предложение по реализации Сервера, серв пишем на блитз, т.к. (сам в шоке был) программы написанные на блитсе работают как под вин так и под лин!

Реализации:
UDP протокл: формируем пакеты с заголовками заголовок пакета содержит в себе информацию о ID, длине и типе пакета, на клиентской тачке проверяем пришедшие пакеты по заголовкам и если пакет такойто с такойто длиной не соответствует описанию в заголовке, то отсылаем запрос на повторный пакет, иначе продолжаем выполнения операций с пакетами.

В данный момент как раз занимаюсь реализацией сие беспредельства. Есть так же примерная структурная модель работы сервер-клиента, если надо напишу
__________________
Проект:
Название: Solium - Last War.
Жанр: Онлайн шутер с элементами стратегии.
Завершён: 45%
Ведётся работа над сервером игры... (20 %)
Сайт проекта: http://shwl-center.at.ua/
===========
Дайте сказать немому...
===========
"Да, ты можешь использовать готовые решения, и всё будет работать, но МОЗГОВ тебе от этого, не прибавится!"
===========
Помните! Ничто не защищает Ваши зубы 24 часа в сутки так хорошо, как уважительное отношение к окружающим!
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Dakar за это полезное сообщение:
Nex (21.09.2009), panmazai (21.09.2009)
Старый 21.09.2009, 12:20   #11
panmazai
AnyKey`щик
 
Регистрация: 22.05.2009
Сообщений: 4
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: client<->server

О да , модель была бы очень полезной
Т.е. ты предлагаешь полностью отвергнуть этот прожёрливый ТСР , и всё писать на UDP с использованием мускуловской Дллки
(Offline)
 
Ответить с цитированием
Старый 21.09.2009, 13:42   #12
Dakar
Оператор ЭВМ
 
Регистрация: 17.09.2009
Адрес: Казахстан -> Рудный
Сообщений: 42
Написано 10 полезных сообщений
(для 23 пользователей)
Ответ: client<->server

Сообщение от panmazai Посмотреть сообщение
О да , модель была бы очень полезной
Т.е. ты предлагаешь полностью отвергнуть этот прожёрливый ТСР , и всё писать на UDP с использованием мускуловской Дллки

Да ты прав, вот пример как будет реализованно обращение к мускулу

Короче сервер один раз обращается к бд собирая данные о пользователях, потом в процессе работы сервера он не обращается к базе!
Обращатся к мускулу он будет только в 4-х случаях!
1) Игрок зашол (собрали его данные, хп, координаты и т.д.)
2) Игрок вышел (сохраняем его данные, координаты и т.д.)
3) По требованию Администратора(посылаем спец комманду и серв сохр.)
4) При перезагрузке сервера.
__________________
Проект:
Название: Solium - Last War.
Жанр: Онлайн шутер с элементами стратегии.
Завершён: 45%
Ведётся работа над сервером игры... (20 %)
Сайт проекта: http://shwl-center.at.ua/
===========
Дайте сказать немому...
===========
"Да, ты можешь использовать готовые решения, и всё будет работать, но МОЗГОВ тебе от этого, не прибавится!"
===========
Помните! Ничто не защищает Ваши зубы 24 часа в сутки так хорошо, как уважительное отношение к окружающим!
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
panmazai (21.09.2009)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TCP server/client несколько вопросов Alexeyy Blitz3D 2 22.09.2009 16:39
ServerSocketConnection. simple http-server abcdef Основной форум 8 13.07.2009 04:50
Microsoft Visual Studio 2005 Professional + Msdn + Sql Server 2005 + DXsdk apr2006 moka C++ 15 04.12.2007 09:44
Linux like WEB-server Timon Болтовня 0 30.01.2007 15:20


Часовой пояс GMT +1, время: 05:53.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com