2
votes

There is a white paper comparison between these 2 servers in the area of MMO gaming backend. http://www.smartfoxserver.com/downloads/sfs2x/documents/SFS2X_WP_PerformanceAndScalability.pdf

It doesn't seem there is a huge performance difference.

In addition, there are performance tests for Netty: http://www.jboss.org/netty/performance

So should I choose smart fox server or netty? There is always pros and cons depending on personal situations. Because my game is aiming to host up to a million client, smart fox server licenses maybe too expensive when you add it up. However, assuming I run game on Amazon cloud, even though the performance between the two is not that huge, the server usage saving when you deploy a game in such a scale could be significant.

On the one hand I do understand SFS is probably pretty optimized for gaming use, but Netty is open source and can have it's advantages. Netty has Apache 2 license, which means you can pretty much modify it and use it for your own commercial purposes. You can't modify SFS in anyway. Some features of SFS such as flooding, room management, and chatting are pretty much useless for a game of certain scale since you can write those lighting fast. What really is important is the socket engine performance. There are so many webpage MMO games on facebook, but almost none uses SFS. I think two reasons: one is license fee may add up, the other is you can't modify it for your own purposes. Zynga wouldn't use it since they want internal control over all their code and resources.

I don't really know which is the best choice. Help me decide.

2

2 Answers

1
votes

It is nowhere near what smartfox server is, but I have developed a Netty game server which can deal flash TCP AMF3 and for non-flash clients TCP and UDP. It is uploaded to github you may find it interesting.

Features like scaling out etc not yet completed. I am not appropriate guy to judge SFS, but for Netty I can vouch that it is very well designed and for the most part very testable. Just look at the unit tests I have written to see how easy it is to do testing upfront when using Netty for your network protocol.

1
votes

I'v developed 3 SNS games, the most popular one had about 1 million DAU once, and max concurrent online user is about 100,000. We just use Apache Tomcat 6 as our application server and it works well.

One of my friends developed a SNS poker game with netty and I helped him solved some problem associated with netty. I find it is easy to debug and tuning performance with netty's source code. And netty also has a good community. I think netty should be a good choice.