10-04-2015, 03:27 PM
Temptation Написал:Всем привет. Строю клиент серверную игру на уе4. Хотелось бы чтоб понакидали ссылки на нормальные статьи о разработке таких приложений, ссылки на видео и прочее который вы находили и я бы смог их прочитать)
Потомучто то что гугл мне выдает весьма мало инфы хотя может быть я плохо ищу.
Также если можете скажите правильно ли я все понимаю по этапно :
на примере просто для начала
Сделать лаунчер с возможностью реги / и авторизации, который будет посылать(??? хз как можете подсказать какие примерно функции) GET(?) запрос серверу авторизации, тот будет биндится к определенному IP и порту, и если пароль и логин верен и есть в базе както подключится к этому айпи и порту перенаправляет данные на игровой сервер который читает логин и пароль, выбираем сервер из списка. смотрит если ли персонажи и если есть покзывает какой если нет то можно создать нового далее регистрируем персонажа, вводим имя и заходим в игру.
Все весьма просто так кажется но честно говоря я понятие не имею с чего начать все это писать, есть какие нибудь стратегии или концепты как все это пишется изначально, с чего начинается и прочее.
Спасибо:Olen':
Другими словами куда копать какие функции искать?
Temptation Написал:блин я запутался малясь.
Значит для лучшей производительности лучше всетаки асинхрон нон блокинг?
Если БД запрещены, то как производить к ней запросы.
Т.е есть коннект к серверу, сервер дает запрос в бд? это уже отдельным тридом?
Если я пишу сервер логина и т.д на с++ не глупо использовать библиотеку Boost:asio http://www.boost.org/ ??
Добавлено через 31 минуту
Ладно я углублюсь в изучение если что еще отпишу сюда))
Наши кодеры брали за основу вот такую вещь (для фирмы, чтобы сэкономить время):
https://forums.unrealengine.com/showthre...tarter-Kit
в UE4 уже есть несколько заготовок Networking модулей (Steam , ipv4, udp), все что надо - правильно с ними работать. Документация неплохая.
Для сети классически делают отдельный поток main-net-thread - слушатель принимающий сообщения из сети, складывает в очередь для обработки. Пул net-worker-thread-oв таскают оттуда сообщения (с маппингом 1 канал на поток, т.е одного и того-же клиента обрабатывает один и тот-же worker. меньше головной боли с синхронизацией).
Если blocking IO то отдельный поток приема данных обязателен (иначе будет вечно висеть в ожидании данных, когда есть более важные дела). NBIO такого минуса не имеет, но будет тратиться время на poll сообщений в main loop.
Лаунчер лучше всего все-таки сделать в виде webview на awesomium, на худой конец IE. Легче править дизайн, нет лишних затрат на кодинг морды лаунчера на плюсах, легче изменять его (просто html/css). Интеграция с нативным кодом через activex/js либо подобные системы.
На другой стороне - просто веб-сервер. Без разницы какой.
for(;Forum.getPostCount() < Integer.MAX_VALUE; Forum.writeNewPost()); | TERA Video | GamezTERA Emu