[ARCHIVE] Road to Live Release

Status
Not open for further replies.
Yes, but the processor is not of the same architecture. ARM is (or was, last time I checked) generally regarded as less powerful when compared to normal x86 or x86_64. Back in 2000, most of today's cell phones would have had the specifications of something like a hardcore gaming computer; most of today's smartphone specifications are near enough 2006-2007's tower computers, obviously apart from hard drive space.
http://ark.intel.com/products/29765/Intel-Core2-Quad-Processor-Q6600-8M-Cache-2_40-GHz-1066-MHz-FSB
this POS would probably still rape phones and AMD APUs


also cool progress on this game thing I guess
 
Making a server bigger refers to choosing more powerful hardware. Take your city server and move it to a server with more CPUs, more RAM, bigger BinSSDs etc. This is called vertical scaling.

horizontal-vs-vertical-scaling-vertical-and-horizontal-scaling-explained-diagram.png


Horizontal scaling is where you just add more servers. Horizontal scaling is more desirable as it works out cheaper. Commodity hardware is cheaper than high end hardware. Google data centers are full of commodity hardware not super computers.

The FreeSO server is split into 4 pieces.
  1. HTTP API (Authentication, negotiates connection to city server, SAS)
  2. City Server (Everything you can do when in city view)
  3. Lot Server (Runs SimAntics VM)
  4. MySQL Database (Stores all the persistent data, lot state, what skills you have, what city you live in etc)
Each one of these components can run on the same server or be spread across multiple servers. Both the HTTP API & the Lot servers can scale horizontally. You could start out with 1 modest server. This might work well for 10 or 20 concurrent lots (we still don't really know). If you have more demand than this you can add more lot servers to increase the capacity.

The city server only scales vertically. It is very clear that the lot server will be intensive to run. That is why we have made it highly scalable. However, the city server is not like this. Therefore it would be a "premature optimization" to make that horizontally scalable now. The complexity of doing this is high and the value is low.

A node in my example is a server. A cluster in my example is a group of servers. If you had a busy city that had 1 city server, 1 api, and 5 lot servers, all that hardware is considered the "cluster". Each item I just listed is a node.
Thank you!
So the lot servers in FreeSO are going to be created automatically as people build lots or they have to be created manually?
Does this mean you guys will have to buy a LOT of cheap VPS/Computers for every lot server? Or are the lot servers going to be on the same computer?
 
Last edited:
Thank you!
So the lot servers in FreeSO are going to be created automatically as people build lots or they have to be created manually?
Does this mean you guys will have to buy a LOT of cheap VPS/Computers for every lot server? Or are the lot servers going to be on the same computer?
Lot servers will be on separate "computers" though nowadays that means cloud VM instances. Automatically adding servers could prove difficult and dangerous if load becomes incredibly high because of a DDOS or bug, so it'll probably be manual.

My distributed algorithms and systems lecturer used this exact image in his slides earlier this year. :p
 
Lot servers will be on separate "computers" though nowadays that means cloud VM instances. Automatically adding servers could prove difficult and dangerous if load becomes incredibly high because of a DDOS or bug, so it'll probably be manual.


My distributed algorithms and systems lecturer used this exact image in his slides earlier this year. :p
So, if i wanted to make an open world multiplayer game like Second Life, i would have to create multiple servers for the different parts of the map, and make the player connect to all servers at the same time?? Or is there another way to do it, keeping the game seamless?
 
Lot servers will be on separate "computers" though nowadays that means cloud VM instances. Automatically adding servers could prove difficult and dangerous if load becomes incredibly high because of a DDOS or bug, so it'll probably be manual.


My distributed algorithms and systems lecturer used this exact image in his slides earlier this year. :p

Agree, scaling will be manual, aka "capacity planning". Auto scaling is amazingly useful, I use it a lot in my day to day life. its good for cost and reliability (servers can replace themselves when they break). However, auto scaling works best when the system is stateless. This is because it is desirable to have them automatically switch off as well as automatically switch on. Lot servers are very statefull.

Imagine lots of people came online and we automatically turned on 10 lot servers. People would slowly leave as it gets later into the evening. I now have 10 servers each hosting 1 lot. I can't turn any of them off without shutting down the lot its hosting. I would need a way to suspend and transfer the lot to another server which would be a sucky experience (slow).

DDOS is a concern but not a major one. All auto scaling systems (Like ASG's in Amazon web services) let you set limits.
 
so like capacity planning would be like forums members close to 700 devided half for inactive people = 350 and divide again for sleeping people = 125 max capaicity or some figure like that being a hevey figure for starter tho
most people i see on the forums online now is like 10 people ruffly on weekend
 
Last edited:
so like capacity planning would be like forums members close to 700 devided half for inactive people = 350 and divide again for sleeping people = 125 max capaicity or some figure like that being a hevey figure for starter tho
most people i see on the forums online now is like 10 people ruffly on weekend
Also there are certain numbers of unregistered visitors on the forums who observing the development of project in all anonymity then i'm pretty sure we will see the community grow when the final version will be released.
 
Agree, scaling will be manual, aka "capacity planning". Auto scaling is amazingly useful, I use it a lot in my day to day life. its good for cost and reliability (servers can replace themselves when they break). However, auto scaling works best when the system is stateless. This is because it is desirable to have them automatically switch off as well as automatically switch on. Lot servers are very statefull.

Imagine lots of people came online and we automatically turned on 10 lot servers. People would slowly leave as it gets later into the evening. I now have 10 servers each hosting 1 lot. I can't turn any of them off without shutting down the lot its hosting. I would need a way to suspend and transfer the lot to another server which would be a sucky experience (slow).

DDOS is a concern but not a major one. All auto scaling systems (Like ASG's in Amazon web services) let you set limits.
Just one more question: Would the city servers and lot servers require different ports to connect? Or can they all use the same port?
 
Just one more question: Would the city servers and lot servers require different ports to connect? Or can they all use the same port?

Different ports. 443 (SSL) for the API, 1 port per city and 1 port per lot server.
 
Could we replace the creepy endless void with other lots? Like in TS2 (how many times have I suggested TS2-related stuff now?), where you could see other lots close to the one you're in but in less detail.
Yeah, a bit better than a creepy endless gray void.
 
Could we replace the creepy endless void with other lots? Like in TS2 (how many times have I suggested TS2-related stuff now?), where you could see other lots close to the one you're in but in less detail.
Yeah, a bit better than a creepy endless gray void.

Could be a lot harder to execute it. However, we could attach a large picture and put it adjacent to each lot, (8 lots around your own)

Problem is that TS1 engine only has 1 thing that's actually 3D, that being the Sims themselves and few props, everything else is a sprite, an individual object, so you can't really reduce quality of a lot like in say Sims 3.
 
Could be a lot harder to execute it. However, we could attach a large picture and put it adjacent to each lot, (8 lots around your own)
The easiest way would be to have some sort of request sent to each adjacent lot, which then returns with each lot's basic structure (walls & floors). Then, this would probably fix the void problem - everything else could be the grassy green colour, eventually fading into black? Might make a mockup of this later.
Problem is that TS1 engine only has 1 thing that's actually 3D, that being the Sims themselves and few props, everything else is a sprite, an individual object, so you can't really reduce quality of a lot like in say Sims 3.
Nope - only the Sims themselves are 3D. Everything else is simply a sprite, which is why there are only four rotations - there are sprites for every rotation possible in every object.
 
The easiest way would be to have some sort of request sent to each adjacent lot, which then returns with each lot's basic structure (walls & floors). Then, this would probably fix the void problem - everything else could be the grassy green colour, eventually fading into black? Might make a mockup of this later.

Nope - only the Sims themselves are 3D. Everything else is simply a sprite, which is why there are only four rotations - there are sprites for every rotation possible in every object.

I just said that about the sprites :| like seriously >.>
 
Could we replace the creepy endless void with other lots? Like in TS2 (how many times have I suggested TS2-related stuff now?), where you could see other lots close to the one you're in but in less detail.
Yeah, a bit better than a creepy endless gray void.
This is a point of interest, but part of the problem is that the city has lots at different heights (ours are flat right now, don't even have the tail off at edges) and that high quality thumbnails at all 4 rotations would need to be stored for every lot.
 
I just said that about the sprites :| like seriously >.>
That is exactly what he said. The props used by some objects tend to be meshes that they add to the sim, then remove afterwards.
Sorry. What I thought he meant was that some objects were 3D:
1 thing that's actually 3D, that being the Sims themselves and few props
Guess I interpreted it differently.
This is a point of interest, but part of the problem is that the city has lots at different heights (ours are flat right now, don't even have the tail off at edges) and that high quality thumbnails at all 4 rotations would need to be stored for every lot.
Forgot about the different heights stuff, probably because it's not in FreeSO at the moment. If they do tail off at the edges, would it not be easier to make a seamless transition, though?
 
I mean height tailing off at the edges, and the effect isn't even that extreme in the original. Terrain types are another issue, but the colours and configuration could potentially be blended through vertex attributes.
 
Status
Not open for further replies.
Back
Top