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

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

Вернуться   forum.boolean.name > Общие темы > Болтовня

Болтовня Разговоры на любые темы (думайте, о чем пишите)

Ответ
 
Опции темы
Старый 08.01.2011, 17:34   #1
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
На чем писать сервер ММО игры

Предлагаю обсудить такую тему.

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

вот. обсуждаем...
(Offline)
 
Ответить с цитированием
Старый 08.01.2011, 17:47   #2
Amatsu
Дэвелопер
 
Аватар для Amatsu
 
Регистрация: 24.07.2008
Сообщений: 1,544
Написано 1,095 полезных сообщений
(для 2,706 пользователей)
Ответ: На чем писать сервер ММО игры

Если бы на блитце имело смысл писать сервер, я бы уже делал мморпг
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Colossus (31.07.2011)
Старый 08.01.2011, 17:54   #3
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений
(для 2,419 пользователей)
Ответ: На чем писать сервер ММО игры

Я вот был недавно на конференции у нас в институте (вобще это оказалась хорошая, годная реклама от мелкомягких), и там в одной из лекций чел рассказывал как раз про сервера. Расказал про два подхода.
1) Если делать сервер многопоточным, то на каждого юзера надо делать поток. Но чел также сказал о внутреностях потоков. Поток при инициализации захапывает себе кусок памяти (точно не помню, но вроде сказал что связанно с процесорами ), и поэтому даже если поток обрабатывает мало инфы то памяти жрёт относительно много.
2) Если делать сервер асихронным (могу ошибится в терминологии) то при большом кол-во юзверей система будет долго переключатся от одного пользователя к другому.

Поэтому выбор технологии на стороне сервера.

Также сказал что в пятом нэт фраемворке будет два класса - для реализаии многопоточности и асихроности. Он показал пример кода так там весь алгоритм сводится к инициализации нужного класса.

Сообщение от Amatsu Посмотреть сообщение
Если бы на блитце имело смысл писать сервер, я бы уже делал мморпг
дык для ммо и машина нужна хорошая и работать должно круглосуточно. Или это была шутка?
(Offline)
 
Ответить с цитированием
Старый 08.01.2011, 18:10   #4
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: На чем писать сервер ММО игры

ппц. сервер на 2/4/8/16/32 юзера чтоли? я думаю по потокам надо разделять локации, но суть не в этом... Скажем так - насколько критична для сервера ММО быстродействие в целом, можно ли ею жертвовать ради безопасности, ваше мнение?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ABTOMAT (08.01.2011)
Старый 08.01.2011, 18:24   #5
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: На чем писать сервер ММО игры

я думаю по потокам надо разделять локации
Поддерживаю.
Возможно, для сервера скорость и не так критична (т.к. можно тупо купить больше мощностей), а вот для клиента - да, посылать в магазин за новой железкой - неприлично-с.
Однако деньги на сервер тоже не резиновые. На плюсах можно вполне себе писать стабильный сервер. Опять же, понадобится больше человеко-часов, если они высоко оплачиваются, есть смысл пожертвовать производительностью чтоб сэкономить на людях и взять шарпы. (Апогей такого принципа - php)
Короче, если б я стал писать сервер, стал бы это делать на плюсах (не доверяю шарпам), но и шарпы - тоже годно. (с учётом JIT вполне способны работать с норм. скоростью, которая, как писалось выше, не так критична)
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
HolyDel (08.01.2011)
Старый 08.01.2011, 18:34   #6
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,358
Написано 2,472 полезных сообщений
(для 6,854 пользователей)
Ответ: На чем писать сервер ММО игры

Если мало времени, то лучше взять C#.
Плюсы:
1) Cкорость разработки
2) Простота отладки
3) Это не питон :D



Кстати Jimon поднимал этот вопос на ГД: http://www.gamedev.ru/code/forum/?id=78290
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Старый 08.01.2011, 19:11   #7
ffinder
Дэвелопер
 
Аватар для ffinder
 
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений
(для 1,460 пользователей)
Сообщение от HolyDel Посмотреть сообщение
надо писать на плюсах. Я считаю что шарп больше подойдет
а чо, есть всего два языка в мире, да?

для серверной технологии есть несколько требований:
1. fault-tolerance, умение не падать при ошибках. отказ в обслуживании одного клиента не должен ломать услугу для остальных.
2. горячая замена кода. без комментариев.
3. неостанавливающий сборщик мусора. есть только в Erlang и в платформе для Java, которая называется Azul. если есть еще где - не стесняйтесь сказать.

Сообщение от Amatsu Посмотреть сообщение
Если бы на блитце имело смысл писать сервер, я бы уже делал мморпг
фейспалм же.
риальне плакаю.
если бы только в сервере был вопрос...

Последний раз редактировалось jimon, 08.01.2011 в 21:48.
(Offline)
 
Ответить с цитированием
Старый 08.01.2011, 20:58   #8
falcon
Разработчик
 
Аватар для falcon
 
Регистрация: 12.07.2008
Сообщений: 523
Написано 196 полезных сообщений
(для 470 пользователей)
Ответ: На чем писать сервер ММО игры

Ой как вовремя вы эту тему подняли
Я сейчас решил углубиться в разработку подобных систем, чисто для самопрокачки
Для разработки сервера выбрал C#
Не могу точно аргументировать выбор (даже в доке причины выбора очень неубедительно выглядят). C# выбрал только потому, что хотел на практике освоить этот язык.
Вроде работа с сокетами везде примерно одинаковая, к тому же есть множество готовых решений по работе с сокетами, базами, многопоточностью... и для плюсов и для шарпа и для жабы... другое дело что шарп и джава несколько проще и надёжней, нежели плюсы. Опять же часто натыкаюсь на высказывания о суровой требовательности шарп\джава приложений... мол затраты памяти можно смело умножать на два. Но не менее часто натыкаюсь и на несогласных с этим))

в общем интересно что скажут люди более или менее разбирающиеся в этой теме
(речь ведь идёт о НЕбраузерных ммо?)

по мне, так очень важно установить требования к серверу, и лишь после этого выбирать инструменты.. для браузерных ММО мб и пхп хватит за глаза и за уши..
Где не стоит вопроса о минимизации трудозатрат (разработка "для души" или мб огромное финансирование) - можно выбрать плюсы.. для создания надёжной(!) системы потребуется много времени.

Там же, где требуется создать надёжный продукт в кротчайшие сроки - стоит обратить внимание на шарп\жабу.
(Offline)
 
Ответить с цитированием
Старый 08.01.2011, 21:43   #9
ffinder
Дэвелопер
 
Аватар для ffinder
 
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений
(для 1,460 пользователей)
Ответ: На чем писать сервер ММО игры

джемон, ты чота наредактировал, что наши с холи посты вместе скукожились. а ну раскукож все обратно!
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо ffinder за это полезное сообщение:
Android (09.01.2011), ARA (08.01.2011), den (10.01.2011), ingko (08.01.2011)
Старый 08.01.2011, 21:48   #10
jimon
 
Сообщений: n/a
Ответ: На чем писать сервер ММО игры

я думаю люди смотрят немного не с той стороны на разработку сервера в целом, вот что такое сервер для клиента ? по-сути это коробка которая находится где-то и которая подключена к интернету

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

для эффективной настройки и создания производительного софта нужен будет специалист высокого уровня который понимает как это всё работает, а не выполняет какую-то инструкцию написанную до него, а если у нас уже есть необходимый специалист то значит можем нанять и второго, а быстрее всего опытным людям написать производительный сервер на C++, благо есть весь необходимый инструментарий (у google и facebook высоконагруженные системы на c++ работают, они дураки чтоли ?)

возможно для очень производительных систем стоит смотреть в сторону RTOS, а там нет никаких java и c#, серьезные инструменты же

джемон, ты чота наредактировал, что наши с холи посты вместе скукожились. а ну раскукож все обратно!
упс, не то слил HolyDel писал :
а чо, есть всего два языка в мире, да?
я потому и говорю - "обсуждаем".

1. согласен
2. согласен
3. не критично
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо за это полезное сообщение:
den (08.01.2011), falcon (08.01.2011), HolyDel (08.01.2011)
Старый 08.01.2011, 21:58   #11
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений
(для 2,419 пользователей)
Ответ: На чем писать сервер ММО игры

Ну всё, опять холивар щас начнётся...
И так, тема очередного холивара: что использовать при разработке сервера - C++ или C# ??
(Offline)
 
Ответить с цитированием
Старый 08.01.2011, 22:03   #12
falcon
Разработчик
 
Аватар для falcon
 
Регистрация: 12.07.2008
Сообщений: 523
Написано 196 полезных сообщений
(для 470 пользователей)
Ответ: На чем писать сервер ММО игры

Den параноик, не?
вполне годный тред

Jimon ну а если у нас по концепту в игре не больше нескольких сотен игроков (ну прям самый пик - тысяча). При чём расчёты ведутся сравнительно не сложные.. Всё равно эффективней использовать плюсы?
Мне кажется подход в выборе инструмента и выборе "взгляда" должен зависить именно от задачи..
зачем нанимать высококлассного специалиста за тысячи $, разрабатывать высокопроизводительную систему, если в задаче требуется создать что-то сравнительно простое?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
HolyDel (09.01.2011)
Старый 08.01.2011, 23:03   #13
jimon
 
Сообщений: n/a
Ответ: На чем писать сервер ММО игры

falcon
для <=256 человек можно что угодно использовать имхо, но стоит понимать что на чём угодно много денег не заработаешь

ps. видел как люди делали сетевые крестики нолики на bat файлах, и ничо так
 
Ответить с цитированием
Эти 5 пользователя(ей) сказали Спасибо за это полезное сообщение:
Amatsu (08.01.2011), den (09.01.2011), falcon (08.01.2011), HolyDel (09.01.2011), Igor (09.01.2011)
Старый 08.01.2011, 23:17   #14
Amatsu
Дэвелопер
 
Аватар для Amatsu
 
Регистрация: 24.07.2008
Сообщений: 1,544
Написано 1,095 полезных сообщений
(для 2,706 пользователей)
Ответ: На чем писать сервер ММО игры

Сообщение от jimon Посмотреть сообщение
falcon
для <=256 человек можно что угодно использовать имхо
Для такого можно даже на блитце сервер написать, без использования графического режима (он тогда почти не грузит систему).
(Offline)
 
Ответить с цитированием
Старый 08.01.2011, 23:37   #15
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: На чем писать сервер ММО игры

C# язык специально разработан для разработки отказоустойчивых приложений, быстродействие несильно отличается от плюсов если писать годный код а не быдлокодить. Сетевая часть сильная. Если понадобятся потоки - их есть у нас.

При жжелании если будут критичные места по времени выполнения можно и с++ вставки сделать и асм, для чего unsafe секции и предусмотрены.

Возможностей совершить критическую ошибку мало.
__________________
(Offline)
 
Ответить с цитированием
Эти 5 пользователя(ей) сказали Спасибо SBJoker за это полезное сообщение:
den (09.01.2011), Dream (09.01.2011), falcon (09.01.2011), HolyDel (09.01.2011), moka (09.01.2011)
Ответ


Опции темы

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

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


Часовой пояс GMT +4, время: 10:25.


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