Просмотр полной версии : Онлайн игра
Здравствуйте!
Создаю многопользовательскую карточную игру для социалок. Сейчас пишу клиентскую часть (на AS3). Естественно нужен сервер для серверной части, бесплатный для начала.
Посоветуйте, пожалуйста, как быть с сервером.
Воспользоваться серверной платформой типа Player.io или написать себе все самому на VPS?
Есть ли вообще хорошие VPS с бесплатным периодом или аккаунтом?
На какие параметры следует обращать внимание в данной задаче?
На какую нагрузку следует рассчитывать?
Какие вообще основные моменты на которых мне нужно сосредоточиться?
Конкретно по AppWrap (http://appwarp.shephertz.com/pricing/) (тоже серверная платформа), там предлагают разные планы, в том числе и бесплатный на три месяца, но разница только в количестве(миллионах) сообщений принимаемых и отсылаемых сервером.
Что это значит? Одно сообщение есть одним битом? То есть, в бесплатном плане сервер обрабатывает поток в два миллиона бит? Имеется ввиду биты от всех онлайн игроков одновременно или от одного?
Иными словами, искренне надеюсь более опытные разработчики понимают мои затруднения, и помогут разобраться.
Я тоже занят разработкой клиент серверного приложения. Антон Карлов в своем блоге хорошо расписывал сервис бесплатного начального сервера на 200 коннектов playerio.com. Логика сервера лишится на С. Мне захотелось своего не зависимого начал с изучения пхп и всего что с ним связано. В итоге я изучил пхп и разочаровался в как он работает с сокетами! Теперь весь в яве синтаксис очень похож на ас.
Кстати ты на чем реализовываешь серверную часть?
Тоже хотелось бы узнать про услуги для размещения серверов. Арендовать выделенный сервер дороговато для новичка энтузиаста. Но есть и виртуальные выделенные сервера, по приемлемым ценам от 500р в месяц.
Что скажите про виртуальные сервера? Ваше мнение? С кем сами работаете?
razerw, наверное на C# попробую. Читал Карлова, но хотелось бы свой сервер попробовать сделать.
Что-то тут не очень активно отвечают. Может в другой ветке ссыль сюда кинуть?
нет не стоит, с другой ветки сюда перекидывают темы. Я на яве написал. Сервер разделил на две части один политик сервер, запустил как отдельный поток. вторая часть которая принимает подключенные сокеты прошедшие политику. тоже как отдельный поток запустил. Сейчас прикручиваю метод шифрования MD5
KumoKairo
19.09.2013, 09:30
Что-то тут не очень активно отвечают.
Просто вопрос очень распространенный на самом деле, одно и то же писать никому не хочется.
Вот тут (http://www.flasher.ru/forum/showthread.php?t=194103&page=2) была тема, в которой расписали разные варианты
Вот тут (http://renaun.com/blog/2012/04/my-actionscript-game-server-with-15000-concurrent-connections/) приводится пример написания сервера на AS3 (WTF?!)
Вот тут (http://stackoverflow.com/questions/9327735/building-a-multiplayer-game-in-flash) вполне приемлимые ответы насчет готовых серверов
Информации в этих ваших интернетах просто навалом, поэтому и отвечают не активно
KumoKairo, благодарю, очень интересная инфа.
Просто в том то и дело, что информации навалом — попробуй разгреби. Особенно новичкам.
Конкретные ответы сложно найти. Вот и в Вашем посте не было конкретных ответов на мои вопросы.
KumoKairo
19.09.2013, 17:19
Тут кстати спрашивали уже про карточные игры) (http://www.flasher.ru/forum/showthread.php?t=143437)
Вот и в Вашем посте не было конкретных ответов на мои вопросы.
Окей, щас)
Воспользоваться серверной платформой типа Player.io или написать себе все самому на VPS?
Я за создание собственного решения, потому что в данном случае, для карточной игры, не нужно высоких скоростей соединения между клиентами и сама задача становится в разы проще. Кроме того, помимо Player.io существует огромное количество других готовых серверов (SmartFox, Photon, PhotonCloud и т.д.), но везде ограничение по количеству пользователей онлайн. На своем же сервере ограничение будет задавать, грубо говоря, только мощность машины и выбранный способ реализации внутренней логики.
Есть ли вообще хорошие VPS с бесплатным периодом или аккаунтом?
Плохие делать умышленно не будут, но вот к Player.io я отношусь с опаской из за языка реализации.
Есть бесплатные, опенсорс сервера вроде FireBase (http://firebase.github.io/) или RedDwarf (http://sourceforge.net/apps/trac/reddwarf/) (насчет открытости последнего не уверен). Первый создавался изначально с целью создания карточных игр как раз (с турнирами и прочим). Но тут возникает проблема кривой обучаемости, потому что придется учиться пользоваться чужим решением (а поскольку они бесплатны - возиться с вами никто не будет, все сами). Так же стоит отметить что в случае выбора этих решений, серверную машину нужно будет предоставлять самим, то есть нет удаленного готового сервера как с PhotonCloud (http://cloud.exitgames.com/).
Картина с бесплатными планами очевидна - или ограничение по количеству игроков, или необходимо использовать свою серверную машину.
На какие параметры следует обращать внимание в данной задаче?
В первую очередь на concurrent users, то есть сколько человек максимум может обработать один запущенный сервер. А так же, если вам нужна логика на серверной стороне, вычислительные способности сервера.
На какую нагрузку следует рассчитывать?
Первое время нераскрученное приложение вряд ли будет требовать от вас чего-то нереального. При необходимости можно будет перенести игровую логику на P2P соединения, выделив среди клиентов одного главного (master client). Эта логика используется в Photon Cloud(от сервера в данном случае не требуется ничего кроме хранения списка комнат и подсоединенных игроков)
Какие вообще основные моменты на которых мне нужно сосредоточиться?
Во-первых решите, где у вас будет сама игровая логика. Часто готовые серверные решения (опять же Photon Сloud) не предполагают внесения изменений в логику сервера. Если нужно поменять поведение сервера, то скорее всего придется использовать свою сервернуб машину (на примере Photon и Photon Cloud - вы можете выбрать, использовать ли исполняемые серверные файлы на своей машине с возможностью вынесения игровой логики на сервер - Photon, или использовать облачный сервис - готовые сервера, но без возможности вмешиваться в работу серверов)
Я бы посоветовал потыкаться в node.js, хоть она традиционно поляризует мнения людей (одни говорят что это кокашка, другие - что манна небесная) из плюсов - огромное количество готовых пакетов для аутентификации, работы с БД (noSQL - MongoDB например) и возможность поддержания большого количества игроков из-за асинхронности (весь сервер работает на одном потоке). Минус - меньшая скорость выполнения сложных вычислений.
KumoKairo, о, благодарю! :) Наверное, потыкаюсь таки в node.js, я уже устал лазить по этих самых интернетах. Пора что-то делать, а там посмотрим.
KumoKairo
19.09.2013, 19:23
Для изучения рекомендую эти скринкасты (http://learn.javascript.ru/nodejs-screencast)
bifidokk
20.09.2013, 08:53
Для node.js сразу обратите внимание на утечки памяти, знакомые ребята запускали на нем серверную часть игры — намучались с этим
Добавлено через 4 минуты
извиняюсь, прочитал стартовый пост
Создаю многопользовательскую карточную игру для социалок. Сейчас пишу клиентскую часть (на AS3). Естественно нужен сервер для серверной части, бесплатный для начала.
реалтайм как он есть не нужен, возможно ожидание отклика более 1 секунды. да хоть на пхп пишите, не обязательно на сокетах. обычные запросы.
KumoKairo
20.09.2013, 11:07
При http запросах все равно создается tcp соединение, которое после выполнения запроса обрывается. 10 запросов - 10 соединений. Если использовать PHP, то стоит обратить внимание на эту статью (http://habrahabr.ru/post/184302/)
mikhailk
21.09.2013, 14:48
Не надо писать карточную игру на пхп. :)
Вообще никакого онлайн-взаимодействия не надо писать на пхп. Это пляски с бубнами.
Если все же нравится идея лонг-полинга на пхп, то садимся на облако и разруливаем проблему с оперативной памятью, двигая рычажок настройки верхнего предела выделяемой памяти.
Что касается утечек памяти на ноде, то, как говорится, "слухи сильно преувеличены".
Но там другие проблемы или, точнее, сложности.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.