Tag Archives: performance

SFS2X memory settings and garbage collection (part 2)

In our previous chapter we have talked about the JVM memory configuration: when to use the defaults and when it might be necessary to fine tune the settings. We also touched on potential side effects of manual tuning and how it can sometimes backfire, for example, forcing the Garbage Collector (GC) to work harder.

In the second part of this series we are taking a look at the different Garbage Collectors available, which is the best for a specific use case, and when it’s useful to switch to a different implementation.

Continue reading

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

SFS2X multi-threading demystified

Often times articles in this blog are inspired by questions and issues raised by our users and this new entry is no exception. One aspect of SmartFoxServer that seems to intimidate developers is the multi-threaded environment behind custom Extensions, and the relative implications in terms of concurrency, scalability and performance.

In this new entry we’re going to demystify the subject and demonstrate how simple and painless is writing server side code, even when many other things are running concurrently. Continue reading

What really happens when you unplug your network or wifi

In this brief article we’re going to take a look at what really happens when we shut down a device’s wifi or unplug the ethernet cable off of a computer. While intuitively one would expect the current connections to go down, this is likely not the case.
We are going to see why this happens and clarify a few misconceptions that arise when testing disconnection scenarios in a multiplayer game. Continue reading

JavaScript is back!

With the release of SFS2X 2.13 last week we’re happy to reintroduce JavaScript as a server side language. For those familiar with the history of SmartFoxServer, JavaScript has been available since the early days of SFS PRO for writing server side code, and it’s now coming back thanks to the latest improvements in JDK 7 and 8.

Continue reading

Top 10 common pitfalls to avoid like the plague

This time we’re going to take a look at the top common errors and pitfalls that can be easily avoided when developing and deploying a multiplayer game with SmartFoxServer 2X. The list is compiled from a selection of topics that are quite popular in our support forums.

Knowing about these common pitfalls can possibly save you a significant amount of time and head scratching. Let’s see what they are.

Continue reading

Fine tuning Room Lists

In this new recipe we will take a look at how to optimize the Room List that SmartFoxServer 2X sends to each client.

Room Lists are very important to show players what is going on in the server and allow them to quickly find games to join. Sometimes, however, they can get too big and result in a waste of bandwidth and information overload for clients.

Continue reading

The importance of ping times

In this brief article we will take a look at the simple concept of “ping times” and how we can use it in our multiplayer games to improve the user’s experience.

The connection speed is the single most important key element in an online game as it affects the whole experience. Being able to detect slow downs and “hiccups” could help removing some of the frustration when the client’s network is not behaving as expected. Also, being able to signal critical network issues could help the final user improve their game performance. Continue reading