With SmartFoxServer 2.10 we have added full TLS encryption to the protocol. In this recipe we’re going to discuss the implications for the Login phase in SFS2X and the differences with the previous modality of secure Login.
Author Archives: SmartFoxServer Team
Running SmartFoxServer 2X with Java 8
Java 8 has been out for year now and it’s probably the most “radical” release of Java ever. With the new functional/lambda additions it feels almost like a new language.
SmartFoxServer 2.10 fully supports Java 8 but since it comes as a patch it still relies on the previous runtime (Java 7) coming with SFS 2.9
If you’re interested in taking advantage of the new Java 8 features for your server Extension code you can follow these simple steps:
Integrating EclipseLink with SmartFoxServer 2X
In this article we’re going to build a simple Login Extension using EclipseLink in place of the default DBManager API provided by SFS2X.
EclipseLink is a powerful ORM (object-relational mapping) framework, that is compliant with the Java Persistence API (JPA) standard.
NOTE: the tutorial presupposes you have an understanding of the basic concepts of object-relational mapping and you’re familiar with at least one database technology. If you don’t have experience with these tools we recommend to check this introduction.
Objective-C API 1.6.0 available
We have just released a new update of the iOS/OSX API with support for the new TLS encryption features coming with SFS2X 2.10.0
You can read the release notes and download the frameworks from here.
SmartFoxServer 2X v2.10.0 is out!
SmartFoxServer 2X v2.10.0 is out, providing protocol encryption for all TCP and UDP communications. The secure connection uses the standard TLS protocol with X.509 certificates for counterparty authentication and AES 128-bit symmetric encryption for data exchange.
The release comes as a cumulative patch (requires SFS2X 2.9.x) and also provides a series of fixes and additions as discussed in the past months in the support forums.
The update comes with new client API for ActionScript 3, C#/Unity and Java/Android (encryption support for C++ and Objective-C clients, will be available in the next few weeks).
You can read the full release notes and download the patch from this page.
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
SmartFoxServer Pro to 2X Promo
Are you interested in moving your multiplayer game based on the older SmartFoxServer Pro to the more advanced and feature-rich SmartFoxServer 2X, but you don’t want to waste your existing license/s?
Until May 10th 2015 our special promotion allows you to convert to SmartFoxServer 2X by taking advantage of a 50% discount on its retail price.
And if you want to convert three or more licenses you get an additional 10% volume discount. Read all the details on this page!
Using the trace(…) command from anywhere in your Extension code
The trace(…) method is a useful little tool to log any information in the log files for debugging your Extension code.
It is available in the main Extension class and in every Request or Event handler. However, often times, developers need to log messages from other places in their code such as data classes, or any other object that doesn’t extend the Request/Event base classes.
How can we call trace(…) from somewhere else? Continue reading
Building a simple stress test tool
One of the questions that often pops up in our forums is “how do I run a stress test on my game”?
There are several ways in which this can be done. A simple way to stress test your server side Extension is to build a client application that acts as a player, essentially a “bot”, which can be replicated several hundreds or thousands of times to simulate a large amount of clients. Continue reading
Performance notes on Room Extensions
Attaching an Extension at Room level is a convenient way to provide each game Room with its own logic. Different Rooms can use different code and manage their own game rules very conveniently. Continue reading
