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.
Category Archives: Recipes
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.
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
Maintaining game state across multiple reloads
Continuing from a previous post about Singletons we are going to discuss a simple strategy to maintain application state across multiple Extension reloads. Before delving into the details, let’s first analyze the reasons why this may help. Continue reading
AutoJoiner Extension
In this recipe we will see how we can create a simple Extension that automatically joins users in an available Room and creates more Rooms when the seats are all occupied. Continue reading
How to send an email from an Extension
Emails can be sent directly from your server side code in order to provide registration confirmations, updates or even debugging and stats reports.
In order to enable email sending you will need to setup the Emailer Service from the AdminTool: from theServerConfigurator choose the Emailer tab, turn on the service and set your SMTP parameters. Continue reading
How to schedule timed tasks in an Extension
Often times in the server-side game logic it is necessary to use timers for recurring events that are sent to the clients (e.g. the end of a turn time, npc actions, etc).
A quick solution to this problem is using the ScheduledThreadPoolExecutor class, provided in the JDK, which offers a convenient task executor backed by a pool of threads. SFS2X already runs its own instance of this Executor (wrapped in a class called TaskScheduler). Continue reading
How to debug your Extensions
You can easily attach a Remote Debugger to the server and enable your favorite Debugger for bug hunting in your Extensions.
SmartFoxServer 2X can be started with the sfs2x.bat (Windows) or sfs2x.sh (Linux/Unix/MacOSX) scripts. By adding some JVM switches to the launch script you can enable remote debugging. You can do it by following these steps: Continue reading
How to check the server logs
SFS2X provides detailed logging of all its activities. You can consult them at any time by checking the logs/folder. Additionally under the logs/boot/ folder you will find detailed logs of the boot phase. Continue reading
How to use the SmartFoxBits 2X
Together with SFS2X we provide the latest version of our SmartFoxBits components, which can save you a ton of time in setting up the application GUI if you are using the Adobe Flash platform to build your client.
The base SmartFoxBits pack contains five components:
- Connector: manages the connection/disconnection process (supporting the new reconnection system too)
- Login: handles the login process
- RoomList: manages the Rooms list, including the Groups feature (allowing to create multiple views of the list based on groups)
- UserList: manages the user list allowing private chat
- ChatBox: provides a basic chatting component
You can check all the details and read the documentation on the SmartFoxBits page.