Author Archives: SmartFoxServer Team

Understanding packet loss

Packet loss is a potential issue for multiplayer games and recognizing it earlier rather than later can be very helpful in making your game more enjoyable, especially for players with sub-optimal connections. In this article we’re going to explore the different types of packet loss, how to identify the issue and how to solve it when it appears. Continue reading

Object serialization between static and dynamic languages

Among the advanced features provided in the SmartFoxServer SDK is the ability to exchange any class instance between client and server with minimal coding intervention. This is particularly useful for statically typed languages such as Java, C# and Actionscript, while dynamic languages such as Javascript are not directly supported.

In this article we’re going to discuss an alternative way to implement custom serialization for classes that are needed from both client and server side to implement our game logic.

If you’re not entirely familiar with the topic of class serialization in SFS2X we recommend reading this article from our documentation Continue reading

15 years of SmartFoxServer: a look at the past and a hint of the future

Approximately 15 years ago, in 2004, we released our first commercial version of SmartFoxServer, called SmartFoxServer Basic.

It was the fruit of our previous experience with SmartFoxServer Lite, a free multiplayer server launched one year before on gotoandplay.it, one of the top Flash developer communities of the time.

Fifteen years might not seem much, but in technological terms it feels like ages ago, when things that we give for granted such as Youtube, Instagram or the iPhone didn’t even exist.

In this blog post we’re going to take a look back at evolution of SmartFoxServer since its early days and the many changes and incredible growth of multiplayer gaming in the past 10+ years.

Continue reading

Security for HTML5 games

With SmartFoxServer 2X 2.13.4 we introduced websocket origin checks for HTML5 clients. What this mechanism does is essentially verify the provenance of the client against a white-list of domains configured by the server admin. If the client origin does not match any of the allowed domains the client connection is denied.

In this article we’ll demonstrate how to use and configure websocket origins in SmartFoxServer 2X and discuss the advantages and limitations of this security measure. We’ll also take a deeper look at the issue of cheating clients and propose several ideas to improve the security of your online game. Continue reading

New C# API v1.7.9 released

We just released v1.7.9 of the SFS2X C# client API for Unity / .Net / Mono / Universal Windows Platform.

What’s new:

  • Rewritten BlueBox client, using .Net 4.5.x classes.
  • Added support for BlueBox (tunneled) connection over HTTPS.
  • Added support for proxy settings for the BlueBox connection (not available under Universal Windows Platform).
  • Rewritten SmartFox.InitCrypto() method; now it doesn’t require to be run as a coroutine in Unity.
  • Unified .DLLs for Unity and .Net/Mono; now both environments can reference the same library.
  • Updated WebsocketSharp library for Unity WebGL builds.

…And we also fixed a WSS connection issue in Unity.

You can get the updated API at this url: https://www.smartfoxserver.com/download/sfs2x#p=client

Enjoy!