Frequently Asked Questions
Common FAQ
General
- Who is using SmartFoxServer? Are there any real examples?
- Is there a place where I can get support for SmartFoxServer?
- What informations should I provide when submitting a support request?
- Do you provide development / consulting services?
- I need dedicated hosting for SmartFoxServer. Can you provide it?
Purchase
- I want to buy a license, what should I do?
- What happens after I submit my order?
- Do I have to pay the additional Value Added Tax?
- Why do I have to provide a VAT registration number even if I don't have to pay the additional tax?
- Why my company has a VAT registration number, but the online verification reports it is invalid?
- What if I enter an invalid VAT registration number?
- What kind of support do I get after purchasing a license?
- Is there a refund policy?
- I already have a license and I want to upgrade it, how much does it cost?
- What should I do to upgrade my current license?
- Are SmartFoxServer Basic customers allowed to upgrade to SmartFoxServer Pro?
- Are SmartFoxServer Basic/Pro customers allowed to upgrade to SmartFoxServer 2X?
General
Who is using SmartFoxServer? Are there any real examples?
Hundreds of companies all over the world are using SmartFoxServer to power their multiuser applications and games. We maintain a showcase gallery with a selection of some great projects created by various gaming agencies.
TopIs there a place where I can get support for SmartFoxServer?
Yes, we have a very active support board where you can ask for help. The board already contains hundreds of discussion and it's likely that your problem was already discussed. Before posting a new one, please use the Search function.
TopWhat informations should I provide when submitting a support request?
Our motto is Help us to help you! So when submitting a support request please make sure you include all the informations described on this page.
TopDo you provide development / consulting services?
We don't provide development or consulting services directly, but we can recommend partner companies that are specialized in multiplayer games and applications development with the SmartFoxServer platform. Check this page for a list of trusted companies.
TopI need dedicated hosting for SmartFoxServer. Do you provide it?
We don't provide hosting directly but we can suggest a number of options.
- Virtual Private Server (VPS)
You can buy a VPS hosting plans for as little as 15-20 euros/dollar per month. A VPS allows you to have a dedicated server with root access where you can install any application, so you can easily set up SmartFoxServer. This is a good option when you have a small budget and you can manage the server by yourself. You can learn more about VPS here. - Cloud server
If you want to deploy SmartFoxServer 2X "in the cloud" (Amazon EC2 environment for example), you may consider using the RightScale platform. You can find more informations here. - Dedicated hosting plan
If you need a more advanced dedicated plan we suggest you to check ShockwaveServer. They provide a wide range of hosting solutions for game servers, including SmartFoxServer. You can find more informations here.
Purchase
I want to buy a license, what should I do?
Please visit our online shop, where you can order one or more licenses in a few mouse clicks.
TopWhat happens after I submit my order?
It depends on what you are buying and on the selected payment method:
- if you pay using a credit card or PayPal, you will be redirected to the PayPal website to complete the transaction (you don't need to create an account if you don't have one: in fact you can pay with your credit card directly);
- if you pay by wire transfer you will be sent to a page containing our bank account informations to proceed with the payment;
- depending on what you are buying, within 24-48 hours after we receive the payment confirmation we will send the license setup instructions or a link to download the product/s, and you purchase invoice.
Do I have to pay the additional Value Added Tax?
Depending on the country you are located in, the Value Added Tax (VAT) may be applied to your order (21% to date – January 2011):
- customers buying as individuals (not companies) from the EU have to pay the additional VAT;
- all other customers (companies from EU or other countries and individuals from countries outside the EU) don't pay additional taxes;
- italian customers (both individuals and companies) always pay the additional VAT (IVA in italian language).
Why do I have to provide a VAT registration number?
When a company from an European Union country buys our products, we are forced by italian tax regulations to request its VAT registration number and check its validity against the European Commission online database. In case your company doesn't have a VAT number you will have to buy your license/s as an individual.
TopWhy my company has a VAT registration number, but the online verification reports it is invalid?
In some countries a specific authorization must be requested to enable your company to make business with foreign countries. You should check with your fiscal advisor if your VAT registration number is enabled.
TopWhat if I enter an invalid VAT registration number?
If you enter an invalid VAT registration number you will be requested to pay the additional Value Added Tax. Refusing to pay it will invalidate your license in case you already received it.
TopWhat kind of support do I get after purchasing a license?
Support is freely available through our public forums. Please allow us 3-4 days from the submission of the request to reply, even if we usually respond more quickly.
Also, when you buy a license you get a 15 days direct email support.
We can also provide faster, dedicated support and consulting via email, IM, Skype or phone. Contact us for more informations and a price quote.
Is there a refund policy?
Before deciding to purchase our softwares, please be sure to download, install, and test-drive the evaluation versions that we provide. We do not offer refunds on software where the retail version has already been sent to the customer. We go to great lengths to produce an evaluation version with which customers can ensure their satisfaction and system compatibility. This allows them to make an informed purchasing decision. Once that purchase has been made, however, we do not provide a cash refund. We feel this policy is consistent with the major software retailers worldwide.
TopI already have a license and I want to upgrade it, how much does it cost?
Our upgrade policy is very simple: you just pay the price difference between the new license and the one that you already own. There are no other hidden or additional costs.
TopWhat should I do to upgrade my current license?
In order to upgrade your license, please visit our online shop.
TopAre SmartFoxServer Basic customers allowed to upgrade to SmartFoxServer Pro?
As SmartFoxServer Basic and Pro share the same code base, we allow upgrading even if the two editions are considered different products.
TopAre SmartFoxServer Basic / Pro customers allowed to upgrade to SmartFoxServer 2X?
Generally speaking, the upgrade option doesn’t make much sense: SmartFoxServer 2X is a different product from its predecessors and we don’t expect customers to upgrade in order to run their SmartFoxServer 1 applications, as this would involve a significant code rewrite.
Anyway we remain open to the possibility of a license conversion for customers willing to dismiss their previous SmartFoxServer 1 license/s and move to the 2X ones. The license conversion is subject to the following policy:
- the Pro 100 Users, Pro 500 Users and Pro Unlimited Users licenses can be converted to the corresponding 2X licenses only (2X 100, 2X 500 and 2X Unlimited respectively);
- the Pro 100 Users, Pro 500 Users and Pro Unlimited Users licenses owners are entitled to the following discount on the corresponding 2X licenses prices:
- licenses purchased during May 2011 or after: 40% discount;
- licenses purchased before May 2011: 20% discount;
- the conversion of Basic licenses to 2X licenses is not possible;
- customers converting their licenses will be requested to sign a Software Destruction Letter and they will have to destroy all copies of their previous licenses within a week.
SmartFoxServer 2X FAQ
General
- What are the limitations of the Community Edition?
- Can I use the Community Edition for a commercial project?
- The API source code is not available. Why?
License
- Can I use the same SmartFoxServer license on more than one machine?
- How does the licensing system work?
- What about the BlueBox? Is the tunnelling add-on still a separate license?
Technical
- I have a game written for SmartFoxServer Pro, how hard is it to port it to 2X?
- Is Java the only server-side language?
- Do you have load testing tools available?
- Is Javascript / HTML5 supported?
- Is it possible to put a load balancer in front of multiple SmartFoxServer instances?
- Can I deploy a SmartFoxServer 2X cluster using Terracotta?
General
What are the limitations of the Community Edition?
The Community Editon comes with all the existing features (server, documentation, examples, etc) together with a free license allowing 100 concurrent users (CCU). There are no time limitations.
TopCan I use the Community Edition for a commercial project?
Yes, the CE edition can be used for any project, from personal or non-profit to commercial ones. We only require that you show a readable Powered by SmartFoxServer notice in your application main screen or user interface. An official logo is available in the Extras section of the 2X download page.
TopThe API source code is not available. Why?
When possible, we find it a lot more convenient to provide a single library file (SWC, DLL, etc) than the source code. Building the new API from sources is now significanly more complex and slow due to the various libraries that each version depends on.
Anyway we remain open to the possibility of providing the source code to those developers willing to port the API to other languages that we don't support officially.
License
Can I use the same SmartFoxServer license on more than one machine?
Each license is bound to the machine on which the SmartFoxServer instance is installed; if you need to run multiple instances of the server on separeate machines, you need to buy more licenses.
TopHow does the licensing system work?
The SFS2X licensing system is based on a centralized License Server running in high availability mode that enables our customers to manage their licenses easily. There is not setup, no additional costs, no complications. The management is done via a web interface and the only requirement is that the SmartFoxServer 2X instances are free to use a regular HTTPS connection to contact the License Server.
The License Server significanly improves the license management with respect to SmartFoxServer Basic / Pro:
- no fixed IP licenses
- no more contacting our support for an IP address change
- no more local License Server for cloud deployments
Detailed informations on the licensing system and the License Server are provided upon license purchasing.
TopIs the BlueBox tunnelling add-on still a separate license?
No, the BlueBox is fully integrated in SmartFoxServer 2X and it is no longer sold separately. It is included in the price you pay for the software.
TopTechnical
I have a game written for SmartFoxServer Pro, how hard is it to port it to 2X?
This depends a lot on the complexity of your game. Converting the client side is usually a quick job because the SFS2X API employs a phiosopy similar to its predecessor. On the server side, if your code is Java, some refactoring and rewriting will be necessary. If you already used good OOP practices the operation will be reasonably quick. For other server languages supported by SmartFoxServer Pro a full rewrite in Java is required.
TopIs Java the only server-side language?
Yes, Java (JDK 6) is the only server-side language officially supported for production environments. We have put a lot of effort in re-designing the server Java API, improving coding simplicity, elegance, and adopting Java 6 best practices as much as possible.
Given the level of performance and scalability that SmartFoxServer 2X is able to offer it would be a bad idea to introduce a significant bottleneck as an interpreted language can be.
Java also provides full control over threading and concurrency which is essential for scalable code. The JDK 6 anyways make it possible to plug in your favorite scripting language engine (Rhino, Jython, JRuby) if you need it. This can be a good way for prototyping ideas that later will be translated in Java Extensions.
Finally, we already distribute an embedded Python interpreter (Jython) for prototyping/testing server-side Extensions.
Do you have load testing tools available?
We don't have pre-built load testing tools available. Those we use internally are mostly command-line softwares made in Java and/or Python that rely on xml configurations and work at protocol level. Without detailed docs (which we don't have) they are not easy to use.
Anyway, a possible high-level solution is to use our APIs for ActionScript 3, Java or C# to create a client that logs in, joins the right room and starts interacting with the server. Once you have this test client, you can build a sort of "Test Manager" that takes care of generating hundreds of its instances.
We've done a few tests using an ActionScript 3 client and we were able to run around 4-500 concurrent clients in a single Flash Player instance. By using multiple Flash Player instances and multiple client machines you can easily simulate thousands of concurrent clients.
Similarly, with a C# client we have been able to run ~1000 clients on a single, inexpensive machine (a Mac Mini).
Is Javascript / HTML5 supported?
We are very interested in supporting HTML5, but sadly we have found how immature the platform is at the present moment (April 2012), especially in regards to the networking component known as "WebSockets", which is the key element to work with binary protocols in Javascript.
There are currently 17 (yes, seventeen!) different versions of the draft that describes the websocket protocol, many of which are in contradiction with each other and most of which are unsupported by modern browsers. At the moment Chrome seems to the best choice in that regards, while Microsoft support is practically zero, since the only MS browser supporting websocket is Internet Explorer 10 which is not available to the public yet, and it will require Windows 8.
Also, no final protocol specification is on radar.
To be honest we feel that it is quite premature to embark on serious multiplayer development using HTML5 for the above reasons and for the lack of established standards, tools and language specifications. But we are following the evolution closely, and in the future we'll be able to deliver HTML5/Javascript API.
On the other side, adding a custom text-based protocol to SmartFoxServer 2X right now would contradict the effort we have done with it to provide a highly efficient binary protocol for best gaming performance.
Is it possible to put a load balancer in front of multiple SmartFoxServer instances?
SmartFoxServer uses persistent socket connections, so it works very differently from a web server and it's unlikely you will be able to put it behind the load balancer unless you use sticky sessions, but this seems redundant to us.
To balance the load appropriately you should make the client ask which SFS server to use before establishing a connection. This is how it should work:
- each SFS instance updates a central database with its current users count, let's say once every minute;
- the client first calls an http server in your cluster which reports which SFS instance should be used;
- the client connects to the proper SFS instance.
Can I deploy a SmartFoxServer 2X cluster using Terracotta?
With SmartFoxServer Pro we often recommended using Terracotta for the purpose of clustering multiple SFS instances. The documentation we still provide refers to the 2.x version of the Terracotta SDK. Unfortunately with the introduction of version 3.x the tool has steered from its original intention and has become a very sophisticated caching system.
They have hidden all of the DSO from the developer's perspective and they even advise against using it, which is too bad. This way Terracotta doesn't work anymore as a transparent clustering engine, but instead it requires a tight integration with their API as any other similar technology.
For this reason we decided to discontinue the integration of SmartFoxServer 2X with Terracotta.
SmartFoxServer Pro / Basic FAQ
General
- What are the limitations of the evaluation versions?
- Can I use the evaluation versions for commercial projects?
- With the realease of SmartFoxServer 2X are the Basic and Pro editions going to be discontinued?
License
- Can I use the same SmartFoxServer license on more than one machine?
- Which IP address should I provide when buying a license?
- Can I change the IP address of my SmartFoxServer license?
- Do you have a licensing system suitable for cloud environments like Amazon EC2?
General
What are the limitations of the evaluation versions?
The evaluation versions come with all the existing features (server, documentation, examples, etc) together with a free license allowing 20 concurrent users (CCU). There are no time limitations.
TopCan I use the evaluation versions for commercial projects?
Yes, the free license provided with the evaluation versions can be used in commercial projects. If you use the free license you should add a small note in your application / game saying that it is powered by SmartFoxServer, although it's not mandatory.
TopWith the realease of SmartFoxServer 2X are the Basic and Pro editions going to be discontinued?
We don't have any plans to discontinue the SmartFoxServer v1 product line (Basic and Pro editions). All SmartFoxServer editions will continue to be maintained and supported.
TopLicense
Can I use the same SmartFoxServer license on more than one machine?
Each license is bound to the private IP address of the machine on which the SmartFoxServer instance is installed; if you need to run multiple instances of the server on separeate machines, you need to buy more licenses.
TopWhich IP address should I provide when buying a license?
The license is bound to the private (internal, physical) IP address of the server on which the SmartFoxServer instance run.
If you are unsure about the private IP addresses of your machine, please try one of these commands:
- Windows: open a prompt/command window and type ipconfig
- Linux/Unix: open a terminal window and type ifconfig
Can I change the IP address of my SmartFoxServer license?
Yes. If you need to move your server to a new machine or you just need to change the IP address you can contact us by email providing your current license file and the new IP address (see previous question): we'll send you a new, updated license. The IP change requests are usually processed in 24-48 hours.
TopDo you have a licensing system suitable for cloud environments like Amazon EC2?
The default IP-based licensing system of SmartFoxServer Basic and Pro is not suitable for most cloud hosting services, because the private IP addresses usually change in case the virtual server is terminated and re-launched.
For this reason we developed a specifically designed License Server, which allows any number of SmartFoxServer instances to be deployed without worrying about their IP addresses.
Each server instance can be freely moved to any new IP without any intervention on our side; additionally the tool offers a convenient web-based interface for monitoring the licenses and their usage. We provide the License Server for free together with the conversion of your existing licenses. Contact us by email if you still have to buy your licenses and you plan to use a cloud hosting service.
Detailed informations and requirements to run the License Server are available in the online documentation.
