Videogame Cluster Server

edited December 2005 in Science & Tech
:thumbsup: I have Microsoft Windows 2003 Enterprise Edition
I want to make a cluster out of about 8 computers
How would I do this?

I want it to be a game cluster, how would I set it up to do this or prepare the other computers to do this.

What are the advantages and disadvantages of going this and /restrictions or workarounds.

Pleae give me as many details as possible.
Thank You Short-Media Community
:thumbsup:

Comments

  • edited December 2005
    Please offer me any suggestion that you may have...
  • JBJB Carlsbad, CA
    edited December 2005
    Do you mean a cluster of servers or a cluster of clients?
  • edited December 2005
    It seems like I have to do a cluster of servers but that is no problem I am first going to run a game cluster for battlefield 1942, then americas army 2.5. Because I have determined that the one server alone is not good enough.

    I have 6 servers to use including the already operational server
    I will install windows server 2003 ENT on the other 5 machines. How would I get them to all act as one do they all have to have the same program running (BF1942 Deticated Server running)/have the same program on each server.

    And is there a way that I can increase the speed of output from one server to the other windows XP machines (12). They are all networked together on the same network.

    100Mbps LAN.

    So lets say I downloaded Americas army onto the server now I want to download Americas Army to the Client XP machines all at the same time without a small download speed.

    Is there some setting that I must change in the NIC configuration Full Duplex 100/Half Duplex 100/ I am leaving it at one of the two. :scratch:
  • GargGarg Purveyor of Lincoln Nightmares Icrontian
    edited December 2005
    Do people put game servers on clusters? I've never heard of that. I wonder if the game itself needs to support that, or if Windows makes it think it's running on one PC. I think there would be diminishing returns on adding computers, though, since sending data between them will take time and processing overhead.
  • ShortyShorty Manchester, UK Icrontian
    edited December 2005
    You are missing understanding how clustering works in Windows.

    Windows 2003 supports two modes of "clustering".

    Network load balancing. This is where a collection of hosts share a virtual IP address (eg... 192.168.1.100) and virtual hostname (eg.. bfserv) They also have their own independant IP's and host names (eg.. 192.168.1.101-106, bfserv01-06).

    All would be operating a service (eg a webserver, terminal server) and requests sent to the virtual name/ip would be forwarded to one of these clustered hosts to serve the request. The network load balance service on each physical server has a "load weight" & host ID. These determine how requests are pointed to each node in the NLB cluster. They can share a common resource (eg... network share for web files) or a database server. Your want is to combine the processing power to make one "super server". This can't be done using NLB as it's not clustering hardware, it's providing a single point of entry for a stateless application.

    The other type is resiliance clustering. This provides again a virtual ip & name. The nodes in this cluster are known as active/passive. Traditionally used to provide failover for business critical applications such as Exchange, MS SQL. Commonly these employ a set of resources such as shared storage. Only one node is active in this cluster at one time running a cluster aware application (eg.. exchange). If this node fails, it' releases the disk resources and virtual application to another node to take over. This provides application resiliance. Again, this is not for clustering hardware for performance but for reliability and redundancy. The nodes communicate by a private network (heartbeat).

    What you are trying to achive is to combine the resources of 5-6 nodes into one super computer. This is not supported at this time by Microsoft with their clustering methodology.

    If your hardware supports a linux distro, it would certainly be worth investigating but unless there is a linux supported binary for BF, you are going to have to look at another option. Sorry buddy.
  • edited December 2005
    Crap but ohh wait did you say linux options.

    Well I only have that one windows server but I can make many linux servers, we already have 16 of them.

    Is there a way that I can use them to do this.

    Please let me know how I could combine the processes of the computers to run the server as one. We have other servers in the school but they are handling other task the well lets just say we can't take those off line anytime soon.

    so lets see 12+16 would be 28 computers. Will I have to use Linux to combine their resource (16 already have them) the other 12 have no drives in them yet and are waiting for a new operating system.

    Each computer has 512MB of RAM (14GB of RAM Total)
    Each computers Processor's are 1.7Ghz I think each (can't remember right now (47.6ghz Total)

    and when they are not running the server I want them to be folding@home Team93.
    But I thought it would be nice to have them all folding, I think this is possible to have them all doing one thing at the same time (acting as one)

    Is it possible to have one computer that I install the software on and then it automatically installs the software or images/mirros the software on the other pcs.

    Man I didn't know Windows Server was so limited... :scratch:

    Thank you for the input Shorty "it was very helpful, especially for my friend that believes windows can do everything"

    ----
    Also if I am creating a cluster with just one node I get an error cannot connect to RPC server

    Example
    Connecting to Gameserver1
    Connecting to GameClient1
    error
    connected to gameserver1
    could not find RPC server.
    I have enabled the RPC Cell Directory and tried the WIndows Directory. The 2 computers Server 2003&XP are on the same domain and the ip addresses are right next to each other. :scratch:
  • ShortyShorty Manchester, UK Icrontian
    edited December 2005
    Crap but ohh wait did you say linux options.

    Well I only have that one windows server but I can make many linux servers, we already have 16 of them.

    Is there a way that I can use them to do this.

    Please let me know how I could combine the processes of the computers to run the server as one. We have other servers in the school but they are handling other task the well lets just say we can't take those off line anytime soon.

    so lets see 12+16 would be 28 computers. Will I have to use Linux to combine their resource (16 already have them) the other 12 have no drives in them yet and are waiting for a new operating system.

    Each computer has 512MB of RAM (14GB of RAM Total)
    Each computers Processor's are 1.7Ghz I think each (can't remember right now (47.6ghz Total)
    Im not very up on *nix clustering, so I wouldn't be able to answer that question with any kind of expert knowledge. Il ask someone I know at work. It _might_ be possible but Im not sure.
    and when they are not running the server I want them to be folding@home Team93.
    But I thought it would be nice to have them all folding, I think this is possible to have them all doing one thing at the same time (acting as one)
    They can all fold independantly and the performance will be the best for them to do so. JonsHandbrake & DragonV8 have a monster folding farm of PC's doing that :)
    Is it possible to have one computer that I install the software on and then it automatically installs the software or images/mirros the software on the other pcs.
    You have several options with that. Make a baseline image & use GhostCast (Symantec ghost) in multicast mode or install RIS (remote installation services) to deploy to the boxes. The only caveat is for these cloned installations is that the hardware must match on all the boxes or you will have problems.
    Man I didn't know Windows Server was so limited... :scratch:
    It's far from limited. Windows server has come a tremendous way to being a real enterprise server solution. Despite the *nix yealots (of which I can be guilty of being sometimes) it has proven itself to be a great operating system with some great functionality out of the box AND secure.

    What you are attempting to do with standard PC hardware is not what it was designed for. Microsoft are very actively looking at performance clustering, so give it time :)
    Thank you for the input Shorty "it was very helpful, especially for my friend that believes windows can do everything"
    You are very welcome :) That's what we do here ;)

    Your friend isn't far off the truth. Windows can do almost anything if you know what to do or know someone who can help you do it :)
    Also if I am creating a cluster with just one node I get an error cannot connect to RPC server

    Example
    Connecting to Gameserver1
    Connecting to GameClient1
    error
    connected to gameserver1
    could not find RPC server.
    I have enabled the RPC Cell Directory and tried the WIndows Directory. The 2 computers Server 2003&XP are on the same domain and the ip addresses are right next to each other. :scratch:
    Which type of cluster have you attempted to create...? Network Load Balanced or Cluster Service...?

    Both strictly rely on your network DNS server service for resolution of the virtual cluster. It is especially important if you aren't running Active Directory (which you should really for clustering of any kind to work effectively).

    For example:::

    An NLB cluster:

    Virtual Cluster name: myserv
    Virtual Cluster IP: 192.168.1.100

    Node1 name: myserv01
    Node1 IP: 192.168.1.101

    The Network load balancing service must enabled AND CONFIGURED on the network card on this node (this can be done through the adapter properties on the ethernet card through the network connections folder). This will add the virtual IP to the list of IP addresses on the card. You must enable and configure the NLB and remember to give it a unique ID!

    Additionally, you have to have DNS entries on your DNS server for BOTH names/IP's.


    A Cluster Service:

    Virtual Cluster Admin name: myservadmin
    Virtual Cluster Admin IP: 192.168.1.99

    Virtual Cluster application name: myserv
    Virtual Cluster application IP: 192.168.1.100

    Node1 name: myserv01
    Node1 IP: 192.168.1.101

    You must use admin tools -> cluster administrator to define your cluster (shared services, quorum drive etc), bind to your resources (disks) onto the admin name/IP BEFORE installing your cluster aware application. Your application would then be registered with the application name/IP once the cluster is up and working :)

    Additionally, you have to have DNS entries on your DNS server for BOTH names/IP's.

    It's completely possible to run a single node cluster of either type of cluster. The cluster service type requires an external disk array (iSCSI, external SCSI or NAS) as it cannot use locally attached disks. You can cheat using one of the iSCSI solutions out there and map those to a network share to provide the shared resources :)

    Wow.. war & peace on this post ;D
  • edited December 2005
    Man that's alot of knowledge. Thank you. Well do you know anything about the RPC server not found problem.

    Something the most current windows SP2 cannot do is IP spoofing. He really wishes he could still do that but it's disabled haha. :cool:
  • drasnordrasnor Starship Operator Hawthorne, CA Icrontian
    edited December 2005
    I know a bit about Linux clustering so I may be able to help. Unfortunately, I don't think what you want to do can be done due to limitations in BF1942's code.

    There are a few kinds of what shorty is calling "performance clustering". The two major ones are MPI (Beowulf) and MOSIX.

    MPI in a nutshell:
    MPI is a message-passing cluster API. Machines in the cluster run MPI kernels and software must be designed from scratch to take advantage of MPI. MPI is called message-passing because the software load balances along the cluster by passing messages containing data to be processed, data that's been processed, and performance and communication statistics between nodes. MPI is intended to be a cluster for creating large, loosely parallel supercomputers out of clusters of PCs. MPI clusters such as Beowulf clusters are most often found in environments where software is designed from the ground up anyway, like engineering and science algorithms for research at universities and defense department agencies.

    MOSIX in a nutshell:
    MOSIX is a very different clustering strategy than MPI. Where nodes in a Beowulf cluster maintain local memory apart from other nodes in the cluster, MOSIX is a shared memory architecture (SMA) not unlike the way multiprocessor machines are put together. In fact, a fully configured MOSIX cluster appears as a single PC with a large amount of memory and processors. The current most popular implementation of MOSIX is OpenMOSIX.

    Diskless nodes are not uncommon in cluster administration. Gentoo Linux has a fairly good HOWTO on putting together a server for diskless Gentoo nodes. Clusters scale well when attached to fast communication interfaces like ieee1394 or gigabit ethernet.

    Unfortunately for you, unless BF1942 dedicated server is compiled with multiprocessor support (which I highly doubt) then it won't be able to take advantage of a OpenMOSIX cluster. You'll be better off investing in a single fast machine.

    A better question to ask yourself is whether or not your internet connection is fast enough to deal with the number of players you're trying to support. I find that on a LAN a single Athlon XP 2100+ provides enough power for a dedicated server supporting 32 players.
  • edited December 2005
    I just thought it would be cool to create a cluster for the games. It will migrate to more intensive games like Americas Army and Battlefield 2. I currently have America's Army on the computers now.

    Now about this diskless Clustering how would this be possible without have harddrives. lets say I have 5 free pc's no hardrive no os in one room and the other room I have 8 pcs.

    I will be using Debian Linux though is there a way to combine the computers together to work as one, or appear as one pc.

    Thank you so much.
  • drasnordrasnor Starship Operator Hawthorne, CA Icrontian
    edited December 2005
    I'm not sure how to do it under Debian but if you read the Gentoo guide and adapt for Debian or Google for diskless nodes and Debian you should find something. Basically how it works is you set up a TFTP server on your core server and create ramdisk images for each node attached. Client nodes must support PXE (pre-boot execution environment) or boot on LAN (a feature on any decent NIC; read: 3com, Intel). Client node's PXE loads kernel and boot image from server, boots up.

    -drasnor :fold:
Sign In or Register to comment.