<DIV>Hi Jay and Chris,</DIV>
<DIV>&nbsp;</DIV>
<DIV>Can i ask a couple of questions about your control panels?</DIV>
<DIV>&nbsp;</DIV>
<DIV>Do you host your control panel on&nbsp;a central server or is it a web server thats on the game server?</DIV>
<DIV>If its the first (and i am presuming it is the first) how do you push the changes out to the game servers?</DIV>
<DIV>I am not asking for trade secrets but if you could explain things in general terms it would be appreciated.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Ta,</DIV>
<DIV>Richard.<BR><BR><B><I>Jay Vasallo &lt;haze@clanwarz.net&gt;</I></B> wrote:</DIV>
<BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">I keep on knocking but I can't get in....<BR><BR><BR>----- Original Message ----- <BR>From: "Chris Adams" <CHRIS@FRAGZZHOST.COM><BR>To: <COD@ICCULUS.ORG><BR>Sent: Monday, September 27, 2004 9:53 AM<BR>Subject: RE: [cod] Semi off topic: COD rentals<BR><BR><BR>&gt; <BR>&gt; Technically you shouldn't have to be logged in, but that tour is a bit<BR>&gt; out-dated.<BR>&gt; <BR>&gt; http://cp.fragzz.com/fragzzPanel<BR>&gt; u: trial<BR>&gt; p: sparrow<BR>&gt; <BR>&gt; That should give you a slightly better view of things :-)<BR>&gt; Let me know when you're done looking and I'll change the pass again... I<BR>&gt; got bored of turning the server off every so often last time someone<BR>&gt; asked for the trial details :-)<BR>&gt; <BR>&gt; ----------------------------------------------<BR>&gt; Chris Adams<BR>&gt; Fragzzhost<BR>&gt; <BR>&gt; T (07005) 964 855<BR>&gt; F (07005) 964 857<BR>&gt;
 www.fragzzhost.com<BR>&gt; <BR>&gt; <BR>&gt; -----Original Message-----<BR>&gt; From: Jay Vasallo [mailto:haze@clanwarz.net] <BR>&gt; Sent: 27 September 2004 19:05<BR>&gt; To: cod@icculus.org<BR>&gt; Subject: Re: [cod] Semi off topic: COD rentals<BR>&gt; <BR>&gt; Hi Chris,<BR>&gt; <BR>&gt; http://cp.fragzz.com/tour<BR>&gt; <BR>&gt; Do I have to be logged in to see this? I would like to see it. We have<BR>&gt; one <BR>&gt; almost done. Even thou it says sof2, it will work for any gamne with a <BR>&gt; config. But then this is the old one and not the updated one.<BR>&gt; http://www.clanwarzgamingservers.com/sof2/index.php<BR>&gt; <BR>&gt; Anyone familar with kkron?<BR>&gt; <BR>&gt; <BR>&gt; ----- Original Message ----- <BR>&gt; From: "Chris Adams" <CHRIS@FRAGZZHOST.COM><BR>&gt; To: <COD@ICCULUS.ORG><BR>&gt; Sent: Monday, September 27, 2004 8:55 AM<BR>&gt; Subject: RE: [cod] Semi off topic: COD rentals<BR>&gt; <BR>&gt; <BR>&gt;&gt; Yeah we used to do things like that but since I've
 written the<BR>&gt;&gt; all-powerful multi-gaming control system ;-) it handles all that for<BR>&gt; us<BR>&gt;&gt; (thank god) so we don't really do anything with IPs and ports these<BR>&gt; days<BR>&gt;&gt; since we have our master lists imported into a query / join program<BR>&gt;&gt; luckily. Also it's a bit impractical on the larger boxes that can hold<BR>&gt;&gt; up to say 20 customers since most ISPs will only give up to 5 or 8<BR>&gt; free<BR>&gt;&gt; IPs, if any at all and often less for dedicated servers.<BR>&gt;&gt;<BR>&gt;&gt; -------------------------------------------<BR>&gt;&gt; Chris Adams<BR>&gt;&gt; Fragzzhost<BR>&gt;&gt;<BR>&gt;&gt; T (07005) 964 855<BR>&gt;&gt; F (07005) 964 857<BR>&gt;&gt; www.fragzzhost.com<BR>&gt;&gt;<BR>&gt;&gt;<BR>&gt;&gt; -----Original Message-----<BR>&gt;&gt; From: Nathan P. [mailto:natedog550@hotmail.com]<BR>&gt;&gt; Sent: 27 September 2004 16:27<BR>&gt;&gt; To: cod@icculus.org<BR>&gt;&gt; Subject: RE: [cod] Semi off topic: COD
 rentals<BR>&gt;&gt;<BR>&gt;&gt; The main reason in my opinion for doing virtual interfaces is so that<BR>&gt;&gt; you<BR>&gt;&gt; can give each client their own IP - it still hits the same physical<BR>&gt;&gt; adapter<BR>&gt;&gt; but it's nice having separate IPs per server. The only thing<BR>&gt; hindering<BR>&gt;&gt; some<BR>&gt;&gt; people from that is having to buy the IPs. Most sell for like<BR>&gt; $10/month<BR>&gt;&gt; an<BR>&gt;&gt; IP. But if you were short on cash you could do the port thing but I<BR>&gt;&gt; like<BR>&gt;&gt; having my own IP personally. Easier to keep up with client servers in<BR>&gt;&gt; my<BR>&gt;&gt; opinion :)<BR>&gt;&gt;<BR>&gt;&gt; --<BR>&gt;&gt; NateDog<BR>&gt;&gt;<BR>&gt;&gt;<BR>&gt;&gt;&gt; -----Original Message-----<BR>&gt;&gt;&gt; From: Chris Adams [mailto:chris@fragzzhost.com]<BR>&gt;&gt;&gt; Sent: Monday, September 27, 2004 10:05 AM<BR>&gt;&gt;&gt; To: cod@icculus.org<BR>&gt;&gt;&gt; Subject: RE: [cod] Semi off topic: COD
 rentals<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; No problem - good luck! :-)<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; You don't even need virtual interfaces actually if you just change<BR>&gt; the<BR>&gt;&gt;&gt; port number with the net_port cvar :-). I can't remember exactly how<BR>&gt;&gt; CoD<BR>&gt;&gt;&gt; deals with it, but if you put it on your command line and also in<BR>&gt;&gt;&gt; autoexec.cfg followed by a net_restart, you'll definitely be safe<BR>&gt; :-).<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; Does anyone know exactly how CoD deals with it? It seems to vary<BR>&gt;&gt; between<BR>&gt;&gt;&gt; the Q3-based games so I have our control engine just do it in every<BR>&gt;&gt;&gt; possible way usually to make sure it works. Would be nice to know :-)<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; ----------------------------------------<BR>&gt;&gt;&gt; Chris Adams<BR>&gt;&gt;&gt; Fragzzhost<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; T (07005) 964 855<BR>&gt;&gt;&gt; F (07005) 964 857<BR>&gt;&gt;&gt;
 www.fragzzhost.com<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; -----Original Message-----<BR>&gt;&gt;&gt; From: Jafo [mailto:jafo@nowhere.ca]<BR>&gt;&gt;&gt; Sent: 27 September 2004 14:42<BR>&gt;&gt;&gt; To: cod@icculus.org<BR>&gt;&gt;&gt; Subject: RE: [cod] Semi off topic: COD rentals<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; Hello everyone,<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; Thanks to everyone who responded to this thread! I was really<BR>&gt;&gt; expecting<BR>&gt;&gt;&gt; hosting companies to be pretty closed lipped about this! Picked up<BR>&gt;&gt; some<BR>&gt;&gt;&gt; REALLY good information from people's posts thank you very much!<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; I'm going to purchase a box, co-lo it and get things started!<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; I never even thought about running one set of binaries with virtual<BR>&gt;&gt;&gt; interfaces, that really beats virtual OS installs! Not to mention the<BR>&gt;&gt;&gt; gains by running one set of binaries with sticky bit
 set!<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; Mark, you provided some really good in depth feedback, I really<BR>&gt;&gt;&gt; appreciate<BR>&gt;&gt;&gt; it!<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; Thanks all,<BR>&gt;&gt;&gt; Keith.<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; On Sat, 25 Sep 2004, Mark J. DeFilippis wrote:<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; &gt;<BR>&gt;&gt;&gt; &gt; If you are executing the same executable and can use parameters on<BR>&gt;&gt; the<BR>&gt;&gt;&gt; &gt; command line that is<BR>&gt;&gt;&gt; &gt; fine. It is the same inode. The question I was answering was for<BR>&gt; a<BR>&gt;&gt;&gt; person<BR>&gt;&gt;&gt; &gt; who appeared to<BR>&gt;&gt;&gt; &gt; not understand why, if Linux is in fact a multiuser/multi-tasking<BR>&gt;&gt; OS,<BR>&gt;&gt;&gt; what<BR>&gt;&gt;&gt; &gt; difference does<BR>&gt;&gt;&gt; &gt; it make if I load from one file or many copies of the file.<BR>&gt;&gt;&gt; &gt;<BR>&gt;&gt;&gt; &gt; In the scenario you present... if you are executing the same file,<BR>&gt;&gt;
 it<BR>&gt;&gt;&gt; is<BR>&gt;&gt;&gt; &gt; the same<BR>&gt;&gt;&gt; &gt; inode. Make it sticky... and you have the same as the symlink<BR>&gt;&gt;&gt; scenario.<BR>&gt;&gt;&gt; &gt;<BR>&gt;&gt;&gt; &gt; For those admins that wish to have a separate executable in the<BR>&gt; user<BR>&gt;&gt;&gt; &gt; space (on perhaps a server where the admin choose to have the<BR>&gt;&gt;&gt; executable<BR>&gt;&gt;&gt; &gt; in the users space with his other files and configs) the symlink<BR>&gt;&gt;&gt; method works<BR>&gt;&gt;&gt; &gt; very well.<BR>&gt;&gt;&gt; &gt;<BR>&gt;&gt;&gt; &gt; If your servers are being spawned by calling the same executable,<BR>&gt;&gt; you<BR>&gt;&gt;&gt; in fact<BR>&gt;&gt;&gt; &gt; are correct, you get the same benefits. For added savings on load,<BR>&gt;&gt;&gt; make the<BR>&gt;&gt;&gt; &gt; executable<BR>&gt;&gt;&gt; &gt; sticky, and your golden.<BR>&gt;&gt;&gt; &gt;<BR>&gt;&gt;&gt; &gt; Dr. D<BR>&gt;&gt;&gt; &gt;<BR>&gt;&gt;&gt; &gt;<BR>&gt;&gt;&gt; &gt; At 03:51
 PM 9/25/2004, you wrote:<BR>&gt;&gt;&gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;But we execute the same binary in the same path for each server&amp;?<BR>&gt;&gt; Why<BR>&gt;&gt;&gt; the<BR>&gt;&gt;&gt; &gt; &gt;symlink?<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;------------------------------------<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;Chris Adams<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;Fragzzhost<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;T (07005) 964 855<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;F (07005) 964 857<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;<HTTP: www.fragzzhost.com>www.fragzzhost.com<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;-----Original Message-----<BR>&gt;&gt;&gt; &gt; &gt;From: Mark J. DeFilippis [mailto:defilm@acm.org]<BR>&gt;&gt;&gt; &gt; &gt;Sent:
 25 September 2004 20:33<BR>&gt;&gt;&gt; &gt; &gt;To: cod@icculus.org<BR>&gt;&gt;&gt; &gt; &gt;Subject: Re: [cod] Semi off topic: COD rentals<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;You are thinking application level. This is Kernel level.<BR>&gt;&gt;&gt; &gt; &gt;I spent lots of time in my career developing real time embedded<BR>&gt;&gt;&gt; coding<BR>&gt;&gt;&gt; &gt; &gt;in Unix/Linux kernels.<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;Look at two linuxded files that are not sym linked. But use this:<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;ls -li<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;Note the left side has a value called an inode. An inode is a<BR>&gt;&gt; unique<BR>&gt;&gt;&gt; &gt; &gt;identifier for that file. Notice that your two files have<BR>&gt;&gt; different<BR>&gt;&gt;&gt; inodes?<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;When the loader goes
 to load code for your two servers using those<BR>&gt;&gt;&gt; &gt; &gt;files, each is copied in to swap (so your swap space is n servers<BR>&gt; *<BR>&gt;&gt;&gt; sizeof<BR>&gt;&gt;&gt; &gt; &gt;executable)<BR>&gt;&gt;&gt; &gt; &gt;The same is true of code segments.<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;If you sym link the two executables (Note they must be on the same<BR>&gt;&gt;&gt; &gt; &gt;filesystem to do so. If you symlink two files on different file<BR>&gt;&gt;&gt; systems,<BR>&gt;&gt;&gt; &gt; &gt;obviously Linux will have to copy the file to the new file system,<BR>&gt;&gt;&gt; and it<BR>&gt;&gt;&gt; &gt; &gt;will have a new inode number. (This is because each filesystem<BR>&gt; has<BR>&gt;&gt;&gt; &gt; &gt;it's own superblock, which maps Inodes to file blocks, and file<BR>&gt;&gt;&gt; names.<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;The filename if only for human consumption. All Linux cares about<BR>&gt;&gt; is<BR>&gt;&gt;&gt; that<BR>&gt;&gt;&gt;
 &gt; &gt;inode number.<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;anyway... If you symlink the two server files, and now do a "ls<BR>&gt;&gt; -li",<BR>&gt;&gt;&gt; &gt; &gt;notice the inode numbers are the same!<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;When you execute the server (with sticky bit on) it is copied to<BR>&gt;&gt;&gt; swap,<BR>&gt;&gt;&gt; &gt; &gt;then pages copied in to ram and executed. When the second server<BR>&gt;&gt;&gt; &gt; &gt;is executed, even though the file has a different path, it has the<BR>&gt;&gt;&gt; same<BR>&gt;&gt;&gt; &gt; &gt;Inode. The linux kernel looks up the inode, and notes this inode<BR>&gt;&gt; has<BR>&gt;&gt;&gt; &gt; &gt;the sticky bit set, and in fact that it already exists in Swap. It<BR>&gt;&gt;&gt; copies<BR>&gt;&gt;&gt; &gt; &gt;the pointers to the code segments as I previously mentioned, and<BR>&gt;&gt;&gt; &gt; &gt;begins execution.<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;You ask why?<BR>&gt;&gt;&gt;
 &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;Because 10 servers your way will load 10 copies in to swap, 10<BR>&gt;&gt;&gt; &gt; &gt;copies in to memory, etc. Using the method of symlinks, which<BR>&gt;&gt;&gt; &gt; &gt;is really nothing more than a link in the super block. The super<BR>&gt;&gt;&gt; block<BR>&gt;&gt;&gt; &gt; &gt;maintains all information about which disk blocks belong tio which<BR>&gt;&gt;&gt; &gt; &gt;files. For your simlink the new file entry simply gets the same<BR>&gt;&gt;&gt; &gt; &gt;inode id copied to the table. Same inode, same code... With<BR>&gt;&gt;&gt; &gt; &gt;shared libraries in memory, for the 10 servers only 1 copy<BR>&gt;&gt;&gt; &gt; &gt;exists in swap. Only 1 copy exists in memory.<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;I hope this is more clear.<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;Dr. D<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;At 02:18 AM 9/25/2004, you
 wrote:<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;Guess im a little confuused here, why would you symlink when cod<BR>&gt;&gt; (all<BR>&gt;&gt;&gt; &gt; &gt;quake3 base games) support multiple users. using fs_basepath and<BR>&gt;&gt;&gt; &gt; &gt;fs_homepath accomplishes the same thing as symlinking doesnt it?<BR>&gt;&gt;&gt; &gt; &gt;Jase<BR>&gt;&gt;&gt; &gt; &gt;NateDog wrote:<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;Woah......now there's a guy who knows his stuff! Awesome tips<BR>&gt; man!<BR>&gt;&gt;&gt; You<BR>&gt;&gt;&gt; &gt; &gt;really explain things well. Much appreciated.<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;--<BR>&gt;&gt;&gt; &gt; &gt;NateDog<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;----- Original Message ----- From: Mark J. DeFilippis<BR>&gt;&gt;&gt; &gt; &gt;To: cod@icculus.org<BR>&gt;&gt;&gt; &gt; &gt;Sent: Friday, September 24, 2004 9:59 PM<BR>&gt;&gt;&gt; &gt; &gt;Subject: RE: [cod] Semi off topic:
 COD rentals<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;I had written much about this a while back. I will repeat a bit of<BR>&gt;&gt;&gt; &gt; &gt;it here for the sake of those who wish to do this. Want to know<BR>&gt; why<BR>&gt;&gt;&gt; &gt; &gt;you should do this, why it works and a bit on how it works...<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;Linking the binaries allows the CPU to share the same Code segment<BR>&gt;&gt;&gt; pages.<BR>&gt;&gt;&gt; &gt; &gt;Servers<BR>&gt;&gt;&gt; &gt; &gt;will be allocated their own data segments for both Heap and Stack<BR>&gt;&gt;&gt; &gt; &gt;(Which grow towards one another)... One of the reasons Ryan was<BR>&gt;&gt; able<BR>&gt;&gt;&gt; &gt; &gt;to so quickly find that original prob back in 1.1.)<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;If there is a write attempt to the code segment, that server/user<BR>&gt;&gt; is<BR>&gt;&gt;&gt; given<BR>&gt;&gt;&gt; &gt;
 &gt;their own copy. In the case of most of the shared libs in Linux,<BR>&gt;&gt; the<BR>&gt;&gt;&gt; code<BR>&gt;&gt;&gt; &gt; &gt;is reentrant, and hence these writes don't happen.<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;One other recommendation, I am not certain if I made...<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;You can reduce the spikes you get when a server is restarted by<BR>&gt;&gt;&gt; &gt; &gt;setting the "Sticky" bit on the executable. (Do a man on "mode"<BR>&gt;&gt;&gt; command)<BR>&gt;&gt;&gt; &gt; &gt;What this does is the first time the executable is loaded, the<BR>&gt;&gt; entire<BR>&gt;&gt;&gt; &gt; &gt;executable is copies to SWAP space. Once copied to swap,<BR>&gt; executable<BR>&gt;&gt;&gt; &gt; &gt;pages are copied in to ram to be executed.<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;The best way to keep a server at optimum is to never have to page.<BR>&gt;&gt;&gt; &gt; &gt;However, under certain conditions, this does happen. It
 the<BR>&gt;&gt;&gt; executable<BR>&gt;&gt;&gt; &gt; &gt;is sticky, it remains in swap, and the page segment need only be<BR>&gt;&gt;&gt; &gt; &gt;brought back in to memory from swap.<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;Also note, when a second and subsequent user of the Sym Linked<BR>&gt;&gt;&gt; executable<BR>&gt;&gt;&gt; &gt; &gt;starts his/her server, the executable IS NOT copied in to swap<BR>&gt;&gt; again,<BR>&gt;&gt;&gt; it<BR>&gt;&gt;&gt; &gt; &gt;uses<BR>&gt;&gt;&gt; &gt; &gt;the one already in swap (hence the concept "sticky")... it sticks<BR>&gt;&gt;&gt; there.<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;Thus on new startup, A call is made to load the executable,<BR>&gt; however<BR>&gt;&gt;&gt; the<BR>&gt;&gt;&gt; &gt; &gt;Kernel immediately updates the CS and ES code pointers to the<BR>&gt;&gt; shared<BR>&gt;&gt;&gt; &gt; &gt;memory mbufs where the executable code exists, allocates a DS data<BR>&gt;&gt;&gt; &gt; &gt;segment, and moves your process
 back to the scheduler for CPU as<BR>&gt;&gt;&gt; &gt; &gt;your I/O is complete.<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;You skip the copy of the executable to SWAP.<BR>&gt;&gt;&gt; &gt; &gt;You skip the copy of pages to Real RAM.<BR>&gt;&gt;&gt; &gt; &gt;You execute off shared pages in memory already with your own set<BR>&gt; of<BR>&gt;&gt;&gt; &gt; &gt;executable<BR>&gt;&gt;&gt; &gt; &gt; registers CS, ES. Get your data segment, and your server<BR>&gt; starts<BR>&gt;&gt;&gt; up.<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;Not only do you save ram, but start impact on the other servers<BR>&gt; due<BR>&gt;&gt;&gt; to I/O<BR>&gt;&gt;&gt; &gt; &gt;DMA transfer setup, and context switching between system and user<BR>&gt;&gt;&gt; space,<BR>&gt;&gt;&gt; &gt; &gt;but you spare the CPU spike as well.<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;Regards<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;Dr. D<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt;
 &gt;<BR>&gt;&gt;&gt; &gt; &gt;At 05:08 PM 9/24/2004, you wrote:<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;I just had that question recently also. I did some research on<BR>&gt; the<BR>&gt;&gt;&gt; internet<BR>&gt;&gt;&gt; &gt; &gt;and a lot of peeps are doing symlinks. I tried it with MOH:AA and<BR>&gt;&gt; it<BR>&gt;&gt;&gt; works<BR>&gt;&gt;&gt; &gt; &gt;beautifully, not sure if that's the "right" way to do it but it's<BR>&gt;&gt;&gt; pretty<BR>&gt;&gt;&gt; &gt; &gt;cool cause' you have one base install and symlinks in the other<BR>&gt;&gt;&gt; client<BR>&gt;&gt;&gt; &gt; &gt;folders.<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;--<BR>&gt;&gt;&gt; &gt; &gt;NateDog<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;-----Original Message-----<BR>&gt;&gt;&gt; &gt; &gt;From: John Kennington [mailto:john.kennington@buzzcard.gatech.edu]<BR>&gt;&gt;&gt; &gt; &gt;Sent:
 Friday, September 24, 2004 3:04 PM<BR>&gt;&gt;&gt; &gt; &gt;To: cod@icculus.org<BR>&gt;&gt;&gt; &gt; &gt;Subject: RE: [cod] Semi off topic: COD rentals<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;Depending on the number of cpus in the box, you can run 10 to 15<BR>&gt;&gt; CoD<BR>&gt;&gt;&gt; &gt; &gt;servers per<BR>&gt;&gt;&gt; &gt; &gt;box. So it is quite cost effective.<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;John Kennington<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;-----Original Message-----<BR>&gt;&gt;&gt; &gt; &gt;From: Jafo [mailto:jafo@nowhere.ca]<BR>&gt;&gt;&gt; &gt; &gt;Sent: Friday, September 24, 2004 3:58 PM<BR>&gt;&gt;&gt; &gt; &gt;To: cod@icculus.org<BR>&gt;&gt;&gt; &gt; &gt;Subject: [cod] Semi off topic: COD rentals<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;Hello,<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;If this isn't the forum for this question, please forgive me for<BR>&gt;&gt;&gt; asking<BR>&gt;&gt;&gt; &gt;
 &gt;here.<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;There seems like a lot of people on this list that run "server<BR>&gt;&gt;&gt; rental"<BR>&gt;&gt;&gt; &gt; &gt;operations. Just curious how people are doing that cost<BR>&gt;&gt; effectively?<BR>&gt;&gt;&gt; &gt; &gt;Obviously one can't run each customer's game server on seperate<BR>&gt;&gt;&gt; hardware.<BR>&gt;&gt;&gt; &gt; &gt;Are people using some sort of "virtual linux" installs to run<BR>&gt;&gt;&gt; multiple<BR>&gt;&gt;&gt; &gt; &gt;servers on one box with seperate IP addresses? If that is the case<BR>&gt;&gt;&gt; how<BR>&gt;&gt;&gt; &gt; &gt;many servers would one dual 2.4 Xeon w/2gig RAM run?<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;Thanks,<BR>&gt;&gt;&gt; &gt; &gt;Jafo<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt;<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;----------------------------------------------------------------------<BR>&gt; -<BR>&gt;&gt;&gt;
 -----<BR>&gt;&gt;&gt; &gt; &gt;<BR>&gt;&gt;&gt; &gt;<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;S2--------------------------------------------------------------------<BR>&gt; -<BR>&gt;&gt;&gt; ----------<BR>&gt;&gt;&gt; &gt; &gt;Mark J. DeFilippis, Ph. D EE defilm@acm.org<BR>&gt;&gt;&gt; &gt; &gt; defilm@ieee.org<BR>&gt;&gt;&gt; &gt;<BR>&gt;&gt;&gt;<BR>&gt;&gt;<BR>&gt; S2----------------------------------------------------------------------<BR>&gt;&gt;&gt; ---------<BR>&gt;&gt;&gt; &gt; Mark J. DeFilippis, Ph. D EE defilm@acm.org<BR>&gt;&gt;&gt; &gt; defilm@ieee.org<BR>&gt;&gt;&gt; &gt;<BR>&gt;&gt;&gt; &gt;<BR>&gt;&gt;&gt; &gt;<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;<BR>&gt;&gt;<BR>&gt;&gt;<BR>&gt;&gt;<BR>&gt;&gt; <BR>&gt; <BR>&gt; <BR>&gt; <BR>&gt; <BR>&gt;<BR><BR></BLOCKQUOTE>