Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

какими средствами пишутся серверы для он-лайн игр ?

16K
10 января 2007 года
ksacvet_cnet
18 / / 14.11.2006
Уважаемые знатоки !!! На каком языке и какими средствами пишутся серверы для многопользовательских он-лайн игр

с написанием клиента проблем нет , а вот сервер ???

Есть место - аренда сервера в одном из московских провайдеров с неограниченым трафиком .
игра логическая и много трафика не требует.

реально ли написать сервер на делфи 7

может у кого ест сылка на материал..?

поделитесь пожалуйста ..

Буду благодарен за любую инфу ...

Заранее огромное спасибо ..:))
4
10 января 2007 года
mike
3.7K / / 01.10.2002
Есть специальные серверные операционные системы и название им не Windows. Так что я бы писал сервер на C/Perl + MySql.

Perl + MySql бы занимался генерацией статики, C по возможности без MySql работал бы с динамикой.

В качестве веб сервера использовал бы nginx.

Но все это при условии что придется обслуживать более 500 обращений в секунду.

В противном случае можно ковыряться и в Delphi с виндовсом.
16K
11 января 2007 года
ksacvet_cnet
18 / / 14.11.2006
огромное спасибо за ответ !! а если игрушка логическая ? и не требует большого трафика , где посмотреть материал по программированию сервера на делфи ???
16K
11 января 2007 года
ksacvet_cnet
18 / / 14.11.2006
просто не хочется тыкаться как слепой котёнок , а лучше спросить у знающих людей :))
16K
14 января 2007 года
lector
6 / / 09.04.2006
Я бы все клиентские модули реализовывал на xml-сервисах. А там уже не важно, на чём всё написано. Это что касается клиентом с доступом через проксю. А для стримовых клиентов опять же куча возможностей в том же c#.
505
18 января 2007 года
vAC
343 / / 28.02.2006
Можно использовать Сокеты. Работаешь практически как с файлами, все очень просто, для логической игры по-мому в самый раз
240
18 января 2007 года
aks
2.5K / / 14.07.2006
Не можно, а нужно. Как иначе то? ))))
Нет можно было бы конечно исспользовать какой то прикладной сетевой протокол (тоесть не создавать сокет явно вручную), но это изврат.
505
19 января 2007 года
vAC
343 / / 28.02.2006
Цитата: aks
Не можно, а нужно. Как иначе то? ))))
Нет можно было бы конечно исспользовать какой то прикладной сетевой протокол (тоесть не создавать сокет явно вручную), но это изврат.



Я имел ввиду,что без всяких надстроек над ними и т.п.

240
19 января 2007 года
aks
2.5K / / 14.07.2006
Это не надстройки. Это просто исспользование чужого прикладного протокола вместо написания своего. Это может быть еще оправданно при web игре, где исспользуеться такой протокол HTTP. Но если писать клиента в качестве полноценного приложения в этом нет никакого смысла. А на чем сервер писать - это уж собственно наверно от задачи, средств и навыков зависит. Я бы например на Java писал - по мне так прощще всего бы )) Ну а если не на Java то на C++.
3.3K
19 января 2007 года
GENA_DJ
123 / / 08.03.2005
Мое мнение по поводу использование HTTP таково.
Нужно предусмотреть сразу 3 режима

0. супер - экономичный. Обмен идет только по UDP
1. экономичный - на игровом сервере слушается 443 порт и обмен идет по TCP без использования HTTP.
2. совместимости - на игровом сервере слушается 80 порт и используется HTTP.

0. Могут быть проблемы с собместимостью для пользователей, сидящих за всякими межсетевыми экранами и NAT-ами.
1. Выбор 443 порта обусловлен тем, чтобы можно было играть через прокси, поддерживающего метод CONNECT на 443 порт.
2. Режим совместимости нужен тогда, когда кроме HTTP (не важно, GET или POST), например через HTTP-PROXY, у игрока нет другого доступа в интернет. Естественно, трафика жраться больше будет и скорострельность будет меньшая. К тому же для пересылки новой порции данных от клиента нужно заново коннектиться.

Клиентское ПО должно само (либо с помощью игрока) выбирать оптимальный режим.
505
19 января 2007 года
vAC
343 / / 28.02.2006
Цитата: aks
Это не надстройки. Это просто исспользование чужого прикладного протокола вместо написания своего. Это может быть еще оправданно при web игре, где исспользуеться такой протокол HTTP. Но если писать клиента в качестве полноценного приложения в этом нет никакого смысла. А на чем сервер писать - это уж собственно наверно от задачи, средств и навыков зависит. Я бы например на Java писал - по мне так прощще всего бы )) Ну а если не на Java то на C++.



Любой протокол(HTTP,FTP,SMTP,POP...)-есть надстройка над TCP/IP

240
19 января 2007 года
aks
2.5K / / 14.07.2006
Не есть - это всего лишь развитие стека TCP/IP. Причем тут надстройка?
505
19 января 2007 года
vAC
343 / / 28.02.2006
Так или иначе считаю что выразился корректно и автор понял о чем идет речь.
А если считаешь, что это я сам придумал, посмотри например используемые термины здесь:
http://www.iworld.ru/magazine/index.phtml?do=show_article&p=99781565
Любой протокол, использующий в качестве основы другой, является надстройкой. TCP/IP также является протоколом, между прочим.
241
19 января 2007 года
Sanila_san
1.6K / / 07.06.2005
Лично мне вообще странно, что стоит вопрос "На чём писать". Потому что пишут на:
1. Том, на чём умеют
2. Том, что совместимо с платформой.

Логично?
63
19 января 2007 года
Zorkus
2.6K / / 04.11.2006
Цитата: Sanila_san
Лично мне вообще странно, что стоит вопрос "На чём писать". Потому что пишут на:
1. Том, на чём умеют
2. Том, что совместимо с платформой.
Логично?


Логично в целом. Но когда умеют на нескольких языках одинаково, и подходит несколько платформ, тогда начинаются муки:)

241
19 января 2007 года
Sanila_san
1.6K / / 07.06.2005
Цитата: Zorkus
Логично в целом. Но когда умеют на нескольких языках одинаково, и подходит несколько платформ, тогда начинаются муки:)

Тогда исходят от задачи, и всего-то мук. Или делают, как проще.

ИМХО, трудно дать совет, если нет никакой информации о том, какая платформа, какой язык знаешь и какие требования к приложениям. Например, мне только что пришла очень тупая идея в качастве сервера использовать Апач, а данные обрабатывать РНР-скриптами. ИМХО, иногда возможно и такое.

16K
21 января 2007 года
ksacvet_cnet
18 / / 14.11.2006
Огромное спасибо за внимание !!! А реально ли реализовать обмен командами между сервером
и клиентами в виде SQL - запросов-ответов ???

т.е. сервер представляет собой БД с таблицами состояний игроков , их действиями и т.д.

..... ??????
240
22 января 2007 года
aks
2.5K / / 14.07.2006
Цитата: vAC

Любой протокол, использующий в качестве основы другой, является надстройкой.


Здесь не основа, а инкапсуляция

Цитата: vAC

TCP/IP также является протоколом, между прочим.


TCP/IP - не является протоколом. Это название для стека протоколов в котором этих протоколов еще куча.
Вот TCP и IP - это да 2 протокола, в честь которых и произошло название.
Вобщем хватит не по теме спорить - надо матчасть учить.

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

По поводу обмена через SQL - помоему это как то странно. А как же команды не относящиеся к БД слать? Логичней общаться с сервером по своему удобному протоколу, а уж сервер - пусть общается с БД. Так собственно и надежней и безопасней для базы будет.

3.3K
22 января 2007 года
GENA_DJ
123 / / 08.03.2005
Цитата: ksacvet_cnet
А реально ли реализовать обмен командами между сервером
и клиентами в виде SQL - запросов-ответов ???



Реально. Только лучше зделать интерфейс в виде набора хранимых процедур. Ну и само собой ограничить доступ клиенту ко всему, кроме этих хранимых процедур. Правда на медленных каналах будет очень плохое быстродействие. Лучше уж вэб - сервис тогда (как прослойку между базой и клиентом).

23K
01 февраля 2007 года
De_Montale aka eXtr0gen
11 / / 31.01.2007
Мне кажется язык тут не рашает много, имхо лишь интерфейс... А вот по части сервера даже не знаю...
241
27 февраля 2007 года
Sanila_san
1.6K / / 07.06.2005
Снова мелькнула такая мысль. Клиентскую часть игры сделать на Flash, это и красиво, и веб-ориентировано, а серверную - на РНР+MySQL используя либо НТТР, либо сокеты и сокет-сервер, его, кстати, можно и просто так найти. Для логической игры самое то, более того, в книге Гурского по Flash MX 2004 Actionscript аналогичный пример разбирался.
252
27 февраля 2007 года
koderAlex
1.4K / / 07.09.2005
можно сделать хоть на openGL . проблема современных онлайнов в серверах . предлагаю основную нагрузку переложить на клиентскую часть (распределённые вычисления игрового мира) , вторичные сервера будут выполнять коммутацию между игроками (их можно делать хоть на PHP , хоть на перле) , а на основном сервере администрирование и прочие функции .
240
28 февраля 2007 года
aks
2.5K / / 14.07.2006
Цитата: koderAlex
предлагаю основную нагрузку переложить на клиентскую часть (распределённые вычисления игрового мира) ,


Это же подарок для читеров )

252
28 февраля 2007 года
koderAlex
1.4K / / 07.09.2005
можно сделать игровую модель неудобной и не интересной для читерства .
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог