Need some very basic SFS info

Need help with SmartFoxServer? You didn't find an answer in our documentation? Please, post your questions here!

Moderators: Lapo, Bax

Post Reply
pritca
Posts: 4
Joined: 06 Oct 2007, 01:20

Need some very basic SFS info

Post by pritca »

Hoping someone can point me to a resource or post here to outline the high level architecture of an SFS-built game? Basically would like to understand the way the server, database and client typically fit together for a Club Pengiun type game/world. In addition what are the hosting considerations I need to be thinking about?

Some key questions I have:

1. Is MySQL the best bet for the database to store user info? Does it scale well compared to other options for a large user base?

2. If you have more than around 10k concurrent users, is the best approach to create parallel instances that people log into? Is that what Club Penguin does when it asks which server you want to log into...

3. Is it necessary to plan for an Akamai (or equivalent) hosting solution for optimized content delivery, or is that overkill?

4. What are the main hardware requirements in the ideal setup? Linux box for the server? How much RAM/CPU? Should the DB exist on the same box, or can/should it be on a separate server?

5. Do I use SFS as the webserver too for the rest of the website, or do I need to look to Apache or something for that?
User avatar
Lapo
Site Admin
Posts: 23438
Joined: 21 Mar 2005, 09:50
Location: Italy

Post by Lapo »

Hello,
Hoping someone can point me to a resource or post here to outline the high level architecture of an SFS-built game?
Read this ->
http://www.smartfoxserver.com/docs/docP ... ecture.htm
http://www.smartfoxserver.com/docs/docP ... mmo_p1.htm
1. Is MySQL the best bet for the database to store user info? Does it scale well compared to other options for a large user base?
Saying who's the best is really difficult and it can be based on many different "parameters". MySQL is definitely one of the best DB engines on the market today and yes it scales very well.
2. If you have more than around 10k concurrent users, is the best approach to create parallel instances that people log into? Is that what Club Penguin does when it asks which server you want to log into...
Please check these white papers:
http://www.smartfoxserver.com/whitepapers/performance/
http://www.smartfoxserver.com/whitepapers/benchmarks/
3. Is it necessary to plan for an Akamai (or equivalent) hosting solution for optimized content delivery, or is that overkill?
I don't know Akamai. All you need is at least a dedicated server and enough bandwidth to keep up with the traffic ( not only socket data but also web/http )
4. What are the main hardware requirements in the ideal setup? Linux box for the server? How much RAM/CPU? Should the DB exist on the same box, or can/should it be on a separate server?
Most of these questions are addressed in the above papers
DB should definitely have its own box
5. Do I use SFS as the webserver too for the rest of the website, or do I need to look to Apache or something for that?
SFS comes with an embedded Jetty web server on top of which you can create all sorts of advanced web apps.
The choice is probably only dictated by what kind of web-dev platform you're familiar with ( java/jsp, php, .net etc... )

HTH
Lapo
--
gotoAndPlay()
...addicted to flash games
pritca
Posts: 4
Joined: 06 Oct 2007, 01:20

Post by pritca »

Thanks Lapo.

So it sounds like a dedicated serving solution is the way to go for the world + flash games, but if I have additional site content such as videos, music, graphics and other high bandwidth needs then maybe I should host that content elsewhere? Maybe someone else has an opinion on how to properly structure that...would love to hear as I am new to this.

Lapo - I noticed that you recommend ISO Interactive (aka shockwaveserver) as a dedicated host. I looked at their website - they seem more like an online agency. Do you know if hosting is a new business for them?

Thanks!
User avatar
Lapo
Site Admin
Posts: 23438
Joined: 21 Mar 2005, 09:50
Location: Italy

Post by Lapo »

So it sounds like a dedicated serving solution is the way to go for the world + flash games, but if I have additional site content such as videos, music, graphics and other high bandwidth needs then maybe I should host that content elsewhere?
It's better to use one provider only and maybe multiple machines, based on your needs. In the end what you need is enough bandwidth for both media contents and web/socket traffic.
Lapo - I noticed that you recommend ISO Interactive (aka shockwaveserver) as a dedicated host. I looked at their website - they seem more like an online agency. Do you know if hosting is a new business for them?
Yes ISO Interactive is offering dedicated hosting services based on SmartFoxServer. They are going to launch a website specifically dedicated to this activity. Until then you can contact them at their official website to learn more about hosting plans.

HTH
Lapo
--
gotoAndPlay()
...addicted to flash games
TaiPan
Posts: 3
Joined: 10 Sep 2007, 23:53
Location: Arizona, USA, NA

Re: Need some very basic SFS info

Post by TaiPan »

pritca wrote:3. Is it necessary to plan for an Akamai (or equivalent) hosting solution for optimized content delivery, or is that overkill?
fwiw, I have worked with Akamai in the past on larger dynamic sites and it led to some serious issues in regards to serving content to various regions. My US visitors would see the latest news articles, while EU visitors would see cached data for 2-3 days afterwards.

I have heard that they have addressed these concerns recently by numerous sources, but I would still steer clear of using them unless you know your content is less prone to change.

Unfortunately with any game related website, you realize that content may change on a day by day basis. As mentioned before, it is best to just have the hardware capable of dealing with the load.

So many issues can be resolved beforehand with the proper planning and architecture r&d. :)
- TaiPan
User avatar
Lapo
Site Admin
Posts: 23438
Joined: 21 Mar 2005, 09:50
Location: Italy

Post by Lapo »

fwiw, I have worked with Akamai in the past on larger dynamic sites and it led to some serious issues in regards to serving content to various regions. My US visitors would see the latest news articles, while EU visitors would see cached data for 2-3 days afterwards.
2-3 days?! :shock:
This can be caused by proxy servers, but that's another story. The geographical position can affect the network latency ... which is anyways measured in milliseconds, not in days! :P

When I check the BBC news website or CNN website from Italy I do get the latest news, not those of two days before :)

Bottom line: if you base your servers in the UK I should get low latency (ping times) if I am connecting from the UK or neighbor countries while I might find slower ping times from countries like India, Japan or south America...

You may solve this issue by using multiple servers based in different continents
Lapo
--
gotoAndPlay()
...addicted to flash games
patso
Posts: 380
Joined: 13 Nov 2006, 13:44
Location: Sofia, Bulgaria

Post by patso »

Lapo wrote: 2-3 days?! :shock:
This can be caused by proxy servers, but that's another story. The geographical position can affect the network latency ... which is anyways measured in milliseconds, not in days! :P
May be the server that serves the content in Europe is not the same as the one in USA.
Post Reply