SFS2X Docs / Overview / sfs2x-features
» SmartFoxServer 2X features overview
SmartFoxServer 2X takes the core SmartFoxServer philosophy and expands it in new directions, introducing hundreds of improvements and focusing on a few precise goals: simplicity of use, versatility and performance.
- Simplicity of use: we have cleaned up all unnecessary complexities of previous versions of SmartFoxServer, making the client/server API more intuitive, streamlined and richer.
- Versatility: we have re-designed parts of the architecture to make it largely more flexible. In turn this helps developers to design their applications more conveniently and with a finer-grained level of control.
- Performance: SmartFoxServer is already known for its top-notch performance. SFS2X continues this trend employing version 3.0 of its custom network engine (codename BitSwarm) which provides binary protocol with dynamic compression, UDP support, JMX monitoring, transparent reconnection system, high performance http-tunnelling and heaps more… It’s also been benchmarked against well known all-purpose socket engines (Mina and Netty) showing top performance under all conditions.
» Server core features
Fully multi-platform | Runs on Windows (32/64), Linux (32/64) and other Unix-based variants. |
Visual config and management | No more messing around with XML. All configuration is done via the new Administration Tool (aka AdminTool) which also provides advanced realtime informations, runtime Zone/Room/User management, Ban management and lots more. The new AdminTool also offers a modular architecture allowing integration of third party plug-ins. |
High performance network engine |
BitSwarm is version 3.0 of our ultra-light, high performance TCP/UDP socket engine providing unique features for multiplayer games:
|
Highly efficient protocol | New binary protocol providing major improvements in server and network performance, delivering an average of 5x in encoding times and 6x in packet size reduction. |
Enhanced security |
Many new security features are built-in:
|
Painless dependency management | Any additional Java dependency (database drivers, development libraries, etc) can be deployed in a snap without messing with the classpath. Just drop the files in the right folder and you are ready to go. |
Effortless deployment | Whether you deploy in the cloud or on a regular server, the setup process is simplified by the unfied installer supporting all 32/64bit architectures and providing installation of the software as a service. |
BlueBox 2.0 | Enhanced and now fully integrated BlueBox technology provides unbeatable performance for HTTP tunnelling. Provides connectivity to all those clients behind restricted network conditions. |
Outstanding stability | We strive to provide the best balance between performance and rock-solid relaiabilty. The server engine has been stress tested for thousand of hours under high pressure including crushing traffic, unreal request load, bandwidth and resource constraints, unstable networks with high packet loss, flooding attacks and more. |
» Platform features
Rich client-server framework | Rich client and server Framework with dozens of functionalities out-of-the-box: Session management, Room management, chatting, advanced lobby and Game Matching features, persistent Buddy Lists, moderation, server Variables and lots more. |
Fully extensible | Plug your Java server-side code to create complex interactions, advanced game logic, custom credentials checks and tons more. Server-side Extensions are the most powerful tool at your disposal to build your applications, from a simple turn-based game to a massive virtual world or a fast real-time action game. Additionally you can use JavaScript to code your Extensions. |
Vastly improved Zone architecture | SFS2X features enhanced configuration, Room Groups, improved Room management, fine-grained event configuration, better security filters integration and lots more. |
Enhanced Room features | Now Rooms support renaming, locking, resizing, hiding and more. |
New Game API | A new set of API provide powerful tools for match-making, game invitations and challenges, public and private games, custom player and game searches based on any numbers of custom parameters and tons more. |
BuddyList 3.0 | A refined Buddy List system provides richer server-side events, pluggable persistence, temporary buddies, online/offline status, nicknames, Buddy messages and more. |
High-Resilient-Connections (HRC) System | The HRC system provides transparent reconnection to unstable client connections allowing players to re-enter a game without losing their state. Indispensable for any betting or contest-based game. |
Redesigned Java Extension API |
Vastly improved, simplified and better organized server-side framework including:
|
Match Expression Engine | Allows clients and server to execute complex queries on Users and Rooms in order to extract very specific items. Matching expressions are chain-able and easily built using a natural syntax that mimicks programming languages. |
SFSObject/SFSArray | Highly flexible data structures used throughout the framework, they represent the client/server message contents at a high level. Additionally they allow to finely tune how each bit of data is encoded at the wire level, providing support for 20 different data types. |
Server Variables | Room Variables, User Variables and Buddy Variables allow to keep custom state for each entity on the server providing auto-updates to the interested clients. New advanced capabilities have been added such as the use of nested objects, global Room Variables and server-only Variables. |
Database integration | Unique and simplified way of accessing data sources based on the ODBC and JDBC standards including configurable connection pooling. |
JMX management | Provides remote management via the standard Java Monitoring interface, allowing to gather statistics and other runtime status and integrate them with external control panels and monitoring software. |
Localized error messages | Multi-language support for error-messages. All error messages are code-based. We provide English based description of each error and developers can add their own translations. |
Logging and reporting | Improved exception reporting with friendly messages and verbose description of issues. The use of Log4J allows improved flexibilty and provides tools for log analysis even from a remote location. |
» Client features
Truly multi-platform | SmartFoxServer 2X supports all major web-based and mobile technologies with a set of consistent API, allowing to create real multi-device access to your games and virtual worlds. Support includes:
|
High level functionalities | The API hide all the low-level networking details, packet serialization, etc, providing very high level tools to the developer. Creating a Room, launching a game, starting a private chat, managing the buddy list, etc, are all performed in a few lines of code, without getting in the way of your application logic. |
Largely improved Room management |
Room management has been improved under many aspects with respect to previous SmartFoxServer version:
|
Advanced connection events | The CONNECTION_RETRY and CONNECTION_RESUME events signal a temporary disconnection and relative re-connection success to the server. This allows the developer to know when the HRC system is performing the transparent auto-reconnection and freeze their game logic or provide feedback to the user accordingly. |
Disconnection reasons | The API can now be aware of various reasons of a disconnection such as:
|
Simplified workflow | Simplified workflow and improved architecture allow faster development and easier coding. |