Game server = web hosting server?

Miscellaneous Forums/General Discussion/Game server = web hosting server?

Hi all,

We usually say game server.
Is it same as those on web hosting server?
Are they have higher configuration?

Thanks in advance

Interesting question, A game server generally would have a greater minimum specification than a webserver, that being said most shared hosting servers you'll buy into will be a high spec but because of the huge amount of sites hosted on them it's shared out to be a relatively low spec per site if that makes sense.

Another thing to remember that on a shared hosting web server you won't be able to run application that your game server runs on.

I hope that is of some help

Like Agamer said, a server meant for hosting games will generally need a bit more power than one used just for serving web pages. Having said that, any reasonably configured dedicated server should be capable of handling a decent load and should allow you to run your own game server, assuming you have the proper libraries and support files installed. Even a shared server that is not overpopulated would probably be able to support a moderate gaming load, but your host will almost certainly disallow that sort of activity on a shared box.

SpaceAce

In addition to that, depending on the game, the game server may need to run a custom application (or even a dumbed-down copy of the game itself) to do its work. Not all web hosts will permit you to run your own applications, especially not when they're binaries

Thank you for your reply.

@xlsior:
Not all web hosts will permit you to run your own applications, especially not when they're binaries

Sorry, I don't quite understand. :(
eg. to run unreal tournament 2004 server, the game server must have the unreal tournament 2004 exe (ie. binaries) to run.
How come they will not permit us to run our own applications?

Thanks in advance.

webspace providers usually only offer html, php, pearl and other web-oriented scripts. you have to find an offer that is dedicatd for game host execution.

But "game server" has several meanings. It may be a php script on a webserver that will only tell the IPs of running games. In this case the real game host is built in the game exe on the players machine: the first player will act as server, all other players will be clients. Usually the player won´t notice a diffrence, other than eg. options to kick some clients. Such a host should have a good ping time. Smart systems even allow to hand over the host job to a client when the host quits the game.

"Real" game servers that are running on a webserver are possible too. They do te same as the background host described before, but they don´t have player controls.

the connection and performence requirements depend on the kind of game and number of players. FPS needs a good connection speeds, where roundbased games may use rather slow servers too. huge structures as seen in mmorpgs sometimes utilize an intelligent network of servers that are handling high numbers of players.

eg. to run unreal tournament 2004 server, the game server must have the unreal tournament 2004 exe (ie. binaries) to run.
How come they will not permit us to run our own applications?


the main reason: Running Unreal is *much* more processor and memory intensive than 'just' serving a small website. On a shared hosting server an ISP can easily host hundreds of medium-sized websites at the same time, but once unreal is running you can't do a whole lot else at the same time. That means that the provider can't sell the same server to nearly as many customers as they do for 'normal' webhosting before it simply gets too slow to function.

so... normal website = able to sell the same server to more customers = lower cost = more profit.

If you want to run an unreal gameserver I'm sure you can find plenty of places willing to help you out, but you should definitely expect to pay significantly more than if you were hosting a typical website.

Another reason most webhosts won't allow you to run your own .exe's is that they are a whole lot more likely to cause problems than restricting customers to normal php/asp/html/etc. A single .exe can potentially freeze the entire server, and the provider has no control over what you would run. You taking down a server means that other customers on the same server also go down at the same time, which is not something they'd want to happen. (After all, those others pay money too to make sure their sites are up). so, prevent damage to other customers, most providers would only allow .exe's on dedicated servers.

Dedicated server packages are significantly more expensive than a normal shared hosting plan, since you have to pay for the server hardware and such all by yourself instead of sharing it with a few hundred other customers.

Thanks a lot.
:)

All the multiplayer dedicated server software that i've run uses 0% cpu time. The exception is EA games which have horrendously coded dedicated server software. Everything i've written in B3D and Blitz Max so far has topped at 1% max on a fairly rudimentary system with RAM usage at 12mb for my Blitz3D stuff and 5.6mb for my current BMax server software.

The thing that can cause problems however, is that a lot of servers use integrated graphics and unless you purchase a machine with an nForce chipset the odds are that you wont be able to open a Graphics3D canvas.

Also, be mindful that Windows Server 2003 software has directX disabled by default. It's very easy to switch on, but remote desktop still wont open a 3D canvas as it works by replacing the graphics card driver. To open a Blitz 3D canvas you need to use VNC.

I hope this helps you chose the right server.

I run a couple of dedicated server machines and the above lessons where learned the expensive way!

Remember: nForce chipset motherboard; VNC; and DirectX might be disabled.

If the server should do all the collision checks between players and objects, do I need to have the same collision checks as in the client then on the server using B3D entities?

If so, can I somehow just display a black screen or no screen at all, so the server doesn't have to display and draw anything, but just handle the collision checks blindly? Maybe just disabling the "Flip" command would be enough, or is there a better way?

Maybe just disabling the "Flip" command would be enough, or is there a better way?


You could skip pretty much all drawing altogethr, for the most part.

As far as having server vs. client side collision checks: Keep in mind that there is latency with the network communications - you'll likely need to do some predictive work and such to make sure everything draws smoothly without excessive jumping around, so you may need to do your checks on both sides and communicate to find the 'true' state of things.
something else to remember, is that you can't always trust the information that the client sends, so the server may need to have some safeguards to double-check what's going on to verify that what just happened is even possible. (to prevent individual patched clients from cheating, e.g. by moifying their movement speeds, amount of ammo, health, etc.)

<duplicate message removed>

Thanks a lot.