With the release of patch 2.13.1 SmartFoxServer 2X adds support for functional Java and lambdas in server side Extensions. In this article we’re going to take a closer look at how we can use lambdas in our server side code. Continue reading
Category Archives: Articles
Handling network switches on mobile devices
In the last blog post we talked about what happens behind the scenes when we pull the ethernet cable or shut down the wifi network, and why this isn’t a reliable way to test a “sudden disconnection” scenario.
In this new article we’ll continue our journey “behind the scenes” taking a look at mobile devices and in particular at how to correctly handle the switch between networks, such as WiFi, 3G and 4G. 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
Better ways of logging Exceptions in SFS2X
A recent discussion on our support forum brought up the struggle of sending enough details to the log files when an Exception is caught on the server side. In this article we provide a few options to improve error reporting in your Extensions and avoid those puzzling, single-line errors. Continue reading
Kotlin and SmartFoxServer 2X
You may have heard of the Kotlin language before, but recently it has seen a big spike in popularity thanks to Google officially adopting it for Android development, alongside Java and C++.
Kotlin is an interesting statically typed language, developed by the good folks at Jetbrains, that shares many similarities with the likes of Scala and Swift. In a sense, it could be thought of the equivalent of Swift for the Java platform: a more modern, concise and safer language that runs in the JVM, fully interoperable with Java.
If that’s not enough, Kotlin also aims at compiling for other targets beyond the JVM, such as Javascript and native platforms and seeks to support asynchronous programming via coroutines and non blocking I/O.
In the context of using Kotlin with SmartFoxServer nothing would be easier: the integration on both server side and client side is painless and it works out of the box with any SFS2X release.
Let’s take a closer look, shall we? 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.
Ways of working with NPCs in a multiplayer game (p.2)
This is the last chapter of our two part series dedicated to managing NPCs. Make sure to review our first chapter if you haven’t already done so.
Ways of working with NPCs in a multiplayer game (p.1)
The topic of managing NPCs in games is an interesting and less discussed one. In this article we’re going to cover some concepts and strategies to work with NPCs in our multiplayer game, focusing on different modalities of interaction with real players and the game environment.
Game state serialization strategies
In this article we’re going to analyze a few strategies to serialize game state data between client and server, and discuss the pros and cons of each approach. Continue reading
Understanding JVM/SmartFoxServer memory usage
In this article we’re going to address yet another oft-asked question regarding how SmartFoxServer uses memory and how to read the graph in the AdminTool’s Dashboard. Continue reading