Что такое Flexible Game Server?

Flexible Game Server(FGS) — это сетевое решение, ориентирование на разработчиков игр, в частности большое внимание уделяется поддержке Unity3D.

В первую очередь, это не конструктор. Этот сетевой движок предназначен для программистов. Чтобы его использовать, нужно понимать хотя-бы основы одного из языков .NET.

Несмотря на слово «Game» в названии, Вы можете использовать его для любого сетевого софта. Движок использует собственный протокол, так что написать web-сервер не выйдет. В остальном — ограничений нет.



Решение написано на C# и представляет собой несколько dll сборок, которые Вы можете подключить в свою программу, написанную на любом .NET языке: Visual Basic, Visual C++, Delphi 8 и т.п. — и инициализировать двумя строчками кода. Это дает гораздо большую гибкость, чем в том случае, когда сервер представлен отдельным исполняемым файлом. Вы можете использовать функционал сетевого решения Flexible Game Server абсолютно в любом типе .NET проекта: Console Application, Windows Forms, Class Library, WCF Service и даже ASP, если Вам это будет нужно.

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

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

Серверное ядро имеет поддержку сессий — клиент может одновременно устанавливать несколько TCP подключений, использовать UDP и восстанавливать соединение после обрыва связи без выгрузки ассоциированных с клиентом ресурсов из памяти сервера.

Flexible Game Server отличается от своих конкурентов тем, что дает разработчику возможность настраивать и оптимизировать абсолютно любое поведение, которое может Вам понадобиться.

Там, где у других серверных решений есть только «универсальная кнопка» (в FGS тоже есть, не переживайте :)), использующая ресурсы не самым оптимальным образом, Flexible Game Server дает опытным разработчикам возможность действовать в обход универсальности, сохраняя большое количество вычислительных ресурсов и пропускной способности сети.

Это делает Flexible Game Server оптимальным решением и для новичков, и для специалистов.

Сетевое решение работает как в Windows, так и на *nix системах под Mono.

В Unity для использования серверного решения поместите dll файлы из дистрибутива в папку Plugins Вашего проекта. Это работает для Web-сборки в том числе (как для серверной, так и для клиентской части FGS).

Flexible Game Server поддерживает Unity для любой платформы, в которой допустимо использовать .NET сокеты. Сборка для Flash не поддерживается, Standalone (exe) и WebPlayer поддерживаются полостью, а остальные варианты на текущий момент не тестировались.

Для Standalone сборки в Unity следует выбрать использование фрэймворка .NET 2.0 (по умолчанию .NET 2.0 Subset).

Для WebPlayer не забывайте использовать SocketPolicyServer, который поставляется вместе с Unity и по умолчанию находится в c:\Program Files\Unity\Editor\Data\Tools\SocketPolicyServer\.

Если возникают проблемы при отладке проекта на .NET 4.0 в Visual Studio, выключите опцию «Enable Native Debugging» в настройках отладки в параметрах проекта.

Преимущества Flexible Game Server:
1.Если Вы разрабатываете собственное сетевое решение, то Flexible Game Server сохранит Ваше время
Движок можно тонко настраивать и даже заменять часть функциональности своей реализацией. Вместо написания собственного решения с нуля, можно использовать FGS в качестве каркаса. Его гибкость дает возможность воплотить любую идею.

2.Прямая связь с автором
Этот движок появился сравнительно недавно, а значит напрямую связаться с автором, т.е. со vbprogr , не просто возможно, а очень просто!
Существует ли другое сетевое решение, при использовании которого вы можете связаться с его автором и попросить дополнить или исправить функционал в каком-либо месте? Скорее всего, придется продираться через толпу людей из техподдержки и, не факт, что ваше сообщение вообще когда-нибудь дойдет до разработчиков!

3.Возможность использовать FGS в любой игре или программе на .NET
Для использования движка не требуется запуск отдельных исполняемых файлов. Вы просто подключаете библиотеки к своему .NET приложению и запускаете сервер!

От себя:
Хорошо, что появилось решение на русском языке с достаточно перспективной структурой. Желаю автору развития его проекта! Ну а я же, уважаемые, буду писать для вас уроки по данному сетевому решению.

Сайт: www.fgs.org.ua/
Скачать Flexible Game Serverскачать

Дополнение:

Введение в FGS


FGS Quick Start Tutorial — создание сервера в Visual Studio (ч. 1)


FGS QuickStart Tutorial — Unity клиент (ч. 2)

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.