Wirehead Studios

General Discussion => Off-Topic => Topic started by: Orbital-S2D on 2011-10-01, 09:17



Title: Quake 3 server on windows 2003 server
Post by: Orbital-S2D on 2011-10-01, 09:17
I need some help let me explain what I have.

I have a box in my closet that I have setup windows server 2003 ent setup on.
I have it connected to the wall and to the LAN. I remote desktop to it to do everything.

I set teamspeak3 up on it and set it as a service. That was easy.

Now what I need to do is know how I should setup the server to run idtech3 servers. Obviously I know how to setup the idt3 side of the dedicated servers. What I need to know is should I setup a new user account to run the game servers in? I mean how do game server host setup there machines to do this. I do realize that most host use Linux for this but for me remote desktop is way easier.

And correct me if I am wrong but I think windows server will close all programs when you log out... Any help is appreciated.


Title: Re: Quake 3 server on windows 2003 server
Post by: Phoenix on 2011-10-01, 12:17
I'm not very familiar with Server 2003, but if it runs anything like Server 2000 it would work something like this.

First, create a shortcut to Quake3.exe, or whatever executable you're using.  I'm going to assume it is Quake 3.exe for this.  Assuming that you installed Quake 3 Arena in the default location, in the "target" command line, you want this:

"C:\Program Files\Quake III Arena\quake3.exe" +set fs_game baseq3 +set dedicated 2 +exec server.cfg

You'll need to create a server.cfg file that has your specific server settings, and to initiate a map sequence.  It may look something like this:

Code:
set rcon_password "something"
set g_gametype "0"
set fraglimit "25"
set timelimit "15"
set bot_minplayers "4"
set g_spskill "3"

set m1 "map q3dm1; set nextmap vstr m2"
set m2 "map q3dm17 ; set nextmap vstr m3"
set m3 "map q3tourney5; set nextmap vstr m4"
set m4 "map pro-q3tourney2 ; set nextmap vstr m5"
set m5 "map q3dm4 ; set nextmap vstr m6"
set m6 "map q3dm8 ; set nextmap vstr m7"
set m7 "map q3dm12 ; set nextmap vstr m8"
set m8 "map pro-q3dm6 ; set nextmap vstr m9"
set m9 "map q3dm7 ; set nextmap vstr m10"
set m10 "map q3dm18 ; set nextmap vstr m11"
set m11 "map q3dm17 ; set nextmap vstr m12"
set m12 "map q3dm9 ; set nextmap vstr m1"

vstr m1

That's for a normal Q3 server, as opposed to a Generations server.  Gen handles map rotations differently, so if you're looking for setting up a Generations server it's a little easier to control the map lists.  Now as for user switching... that's going to depend on how Server 2003 handles that.  XP has fast user switching as an option which keeps one account's programs running while logging in to another.  I don't know if that's a feature in Server 2003.  If it is, you may be able to switch accounts and not lose your Q3 server.  If not, then logging out will close the Q3 server.  Locking the station should keep it running.

I'm running two Q3 servers on a Win XP Pro desktop and it works fine.  I just have it set to automatically start the shortcuts when the computer boots.  The only problem with Q3's executable is that there's a bug dealing with svs.time overflowing and tripping the sign bit, causing bobbing items to malfunction and animmap shaders to stall after about 24 hours of up time.  Restarting the server using Task Manager (Does 2K3 have this?) or Cron in linux solves this.  Alternatively, the problem is fixed in the IOQuake3 engine.  I actually wrote most of the fix and posted it to quakesrc.org before it went offline, and a few other fellows contributed but I don't have their names since the site went down to give them proper credit.   :surprise:

Anyway, if there's any other questions let us know and we'll help you get set up.  :slippy_thumb:


Title: Re: Quake 3 server on windows 2003 server
Post by: fourier on 2011-10-01, 16:25
You can remote desktop in linux too :P  You of course need to install a gui desktop, but there are very light ones which won't tax the system much (still much less than windows) like fluxbox, openbox, blackbox, etc; from there you use XDMCP for a remote session.  Then there's always VNC. 

I'm not saying to switch, I'm just letting you know you can remote desktop on linux too :)  Command line can be your friend, and you can mount NFS and samba shares on a windows computer so you can edit them in your preferred editor instead of vi/vim, nano, etc.


Title: Re: Quake 3 server on windows 2003 server
Post by: ReBoOt on 2011-10-01, 19:36
Why can't linux ppls come up with more "friendly" names? :) even thought i have to agree blackbox sounds quite nice ;)


Title: Re: Quake 3 server on windows 2003 server
Post by: Orbital-S2D on 2011-10-01, 22:25
I'm not saying to switch

Yea you are... It would be alot easyer im starting to feel... Besides its not like i can use the licence key for the TS server on linux and it probably would be more secure than windows 2003.

So what distro of linux are you going to reccomend...
]


Title: Re: Quake 3 server on windows 2003 server
Post by: Orbital-S2D on 2011-10-02, 03:19
Arch Linux looks like it would be the way to go....

I could just SSH to it after i installed the base of arch... thoughts?


Title: Re: Quake 3 server on windows 2003 server
Post by: fourier on 2011-10-02, 16:23
No I wasn't actually :)  You should have just stuck it out with windows.  I just wanted to give you a little more information about "poor linux".  It is (as I know you know) a far more powerful operating system, and most everything you can do in windows you can do in linux and better with the exception of running windows tailored applications (which sadly means most games).  Windows is simpler, though, and more user friendly.  I spent at least a day fighting with ubuntu (which is consider one of the more user friendly distros) to get the audio drivers working (had to completely strip out ubuntu's pulse audio crap and just use alsa in the end).

As far as distros, it's preference.  I prefer apt based distributions, so ubuntu or debian.  Debian typically uses outdated packages which are thoroughly tested by that point so it's possibly better for production servers.  Ubuntu is more "cutting edge" meaning packages get in there quickly just by making them work in ubuntu without really doing a lot of testing.

For RPM based servers, CentOS is an excellent choice.  I just haven't used yum in a long time other than once in a blue moon to do something on a server that someone needs help on.

Those are the only distros I've spent a fair amount of time in.  There are a ton out there.

I'm curious why you selected Archlinux.  Most distros are virtually the same in performance across a wide spectrum.

What are your system specs and how many servers are you planning on running on it?


Title: Re: Quake 3 server on windows 2003 server
Post by: fourier on 2011-10-02, 16:37
Oh, and honestly, go with what you know unless you want to turn this into a learning experience.  Windows can be more vulnerable but if you shut down all the stuff that shouldn't run on a system that is only intended to serve q3/ts/mumble (i.e. shutdown web services and block all but remote port and server ports), then it can be fine so long as you have the extra resources (mostly RAM) needed for it.


Title: Re: Quake 3 server on windows 2003 server
Post by: Orbital-S2D on 2011-10-02, 18:36
I gave up on it because I don't have time to sit down and learn to manage Linux. And on the same hand I dont want to have all this stuff setup on windows because there are people out there with nothing better to do...

 All I did was swap the hdd so that I wouldn't waste my install.

It's a dell computer pentium 4 emt64 with 1024 of ram.

I dunno what it is really it was a gift. It's descent and 2003 is peppy on it. Arch was screaming though. Concidering that it had no xserver or GUI...

How much do you charge...


Title: Re: Quake 3 server on windows 2003 server
Post by: fourier on 2011-10-02, 20:31
If you want me to help you setup a server, just go with ubuntu server.  Get Maverick, not Natty:
http://releases.ubuntu.com/10.10/ubuntu-10.10-server-amd64.iso

After you've installed the server, you can follow this basic security guide:
http://www.andrewault.net/2010/05/17/securing-an-ubuntu-server/

Only go to the DenyHosts step.  Unless you're actually going to be monitoring the logs, don't worry about tiger, psad, chkrootkit, etc -- they are great tools, but probably not something you'd use.

I'll help once you've done that.


Title: Re: Quake 3 server on windows 2003 server
Post by: Orbital-S2D on 2011-10-02, 22:36
why .10 and not .04 just curious


Title: Re: Quake 3 server on windows 2003 server
Post by: Orbital-S2D on 2011-10-03, 07:02
Done... Sent a PM

The licensekey.dat is in the home folder of rnr



Title: Re: Quake 3 server on windows 2003 server
Post by: ReBoOt on 2011-10-04, 00:08
No I wasn't actually :)  You should have just stuck it out with windows.  I just wanted to give you a little more information about "poor linux".  It is (as I know you know) a far more powerful operating system, and most everything you can do in windows you can do in linux and better with the exception of running windows tailored applications (which sadly means most games).  Windows is simpler, though, and more user friendly.  I spent at least a day fighting with ubuntu (which is consider one of the more user friendly distros) to get the audio drivers working (had to completely strip out ubuntu's pulse audio crap and just use alsa in the end).

As far as distros, it's preference.  I prefer apt based distributions, so ubuntu or debian.  Debian typically uses outdated packages which are thoroughly tested by that point so it's possibly better for production servers.  Ubuntu is more "cutting edge" meaning packages get in there quickly just by making them work in ubuntu without really doing a lot of testing.

For RPM based servers, CentOS is an excellent choice.  I just haven't used yum in a long time other than once in a blue moon to do something on a server that someone needs help on.

Those are the only distros I've spent a fair amount of time in.  There are a ton out there.

I'm curious why you selected Archlinux.  Most distros are virtually the same in performance across a wide spectrum.

What are your system specs and how many servers are you planning on running on it?

Well when it comes to webservers and other webapplications Linux kicks ass (not to forget the license costs) :) Thought as an desktop os for non powerusers windows/mac os is still the easiest, but i still have faith that someday linux will be there aswell :)


Title: Re: Quake 3 server on windows 2003 server
Post by: Orbital-S2D on 2011-10-06, 01:50
Hey Fourier
I'm off tomorrow and Friday but I work all weekend. What do I need to do next? :)


Title: Re: Quake 3 server on windows 2003 server
Post by: Orbital-S2D on 2011-10-07, 10:13
 :doom_?:


Title: Re: Quake 3 server on windows 2003 server
Post by: fourier on 2011-10-07, 19:52
You should change the SSH port in the config file.  I think it's /etc/ssh/sshd_config.  Then test to make sure you can login.  The reason you do this is because bots pound on the door all day long if you don't.  Changing to a non-standard ssh port clears up the bulk of those.  Most of them try root logins, so disabling the root login (as in the guide) pretty much kills the majority of them anyway.

Install q3 and ioq3:
http://www.gamefront.com/files/6275399/Quake_III_Arena_1_32b_3_Linux

http://ioquake3.org/files/1.36/installer/ioquake3-1.36-7.1.x86_64.run

You need to chmod +x both of those files and install them with sudo.

For UFW, I usually do:
Code:
sudo ufw default deny
sudo ufw allow #/tcp (where # is whatever you changed ssh to)
sudo ufw allow 27960/udp (and whatever other ports you'll need for quake 3)
sudo ufw enable

If you followed that guide I posted, you should ufw delete the rule for ssh (since you won't be using ssh over port 22).

After you've setup the firewall, setup the servers.  I'll try to see if I still have an init.d script for q3 servers.


Title: Re: Quake 3 server on windows 2003 server
Post by: Orbital-S2D on 2011-10-08, 08:54
bah forget... i tried and all i get is errors... i give up


Title: Re: Quake 3 server on windows 2003 server
Post by: fourier on 2011-10-08, 17:51
lol, is it really that hard?  Which part of it is giving errors?  The installers should just install with minimal interaction from you.

You know windows; find a nice method of running the servers as a process and adding them to the startup (or you can just make batch files and edit msconfig to run them on start).  Then just schedule reboots on the machine.


Title: Re: Quake 3 server on windows 2003 server
Post by: Phoenix on 2011-10-09, 02:40
I don't even bother with msconfig.  I just put the shortcuts in the "startup" folder and it loads automatically at server boot.


Title: Re: Quake 3 server on windows 2003 server
Post by: Orbital-S2D on 2011-10-09, 04:07
Ugh u would really have it on Linux I guess I assumed wrong about the kind of help you were willing to give. The big problem I'm having right now is that I cannot get the cd to mount. So I cannot copy the pak0 to the folder. Maybe it would be easyer if you could log in and have a look at what I have done and see if I have done something wrong. I know right now that you cannot because the port for ssh has been changed but not in the router.

Let me know if you would like to do that.


Title: Re: Quake 3 server on windows 2003 server
Post by: fourier on 2011-10-09, 04:18
Sorry, judging by your previous post I thought you meant you were done trying linux:

bah forget... i tried and all i get is errors... i give up

Ubuntu should just automatically mount the cd device to /cdrom/.  I will see what I can do.  I don't like just spending time setting up things for people, but I'll try to get you unstuck.


Title: Re: Quake 3 server on windows 2003 server
Post by: Orbital-S2D on 2011-10-09, 06:09
Thnx man I'll change the port in the am cause I'm at work and I work all weekend. I work at night and I'll be off again Tuesday and wensday...

If there was some way we could do this together where we could verbally communicate and walk through it I would get more out of it and it would be something I would remember how to do in the future...

I just want you to remember that I am always grateful for you help dude.


Title: Re: Quake 3 server on windows 2003 server
Post by: Orbital-S2D on 2011-10-09, 12:43
ok its open check pm for details

ps the cd is in the drive


Title: Re: Quake 3 server on windows 2003 server
Post by: fourier on 2011-10-09, 20:25
Ok, what I did was simple:
Code:
sudo mkdir /cdrom
sudo mount /dev/cdrom /cdrom
sudo cp /cdrom/Quake3/baseq3/PAK0.PK3 /usr/local/games/quake3/baseq3/.

It's fairly easy to mount it manually as you can see above (you'll only have to do the mount command there).

I see what's wrong with the q3 install -- it's throwing errors because it's 64bit.  I just ran it with --keep (which doesn't erase the temporary files unpacked) and manually copied the files over to the q3 dir:
Code:
sudo linux32 sh linuxq3apoint-1.32b-3.x86.run --keep
sudo cp setup.tmp/baseq3/* /usr/local/games/quake3/baseq3/.
sudo cp setup.tmp/bin/Linux/x86/* /usr/local/games/quake3/.
sudo chmod +x /usr/local/games/quake3/q3ded

If you are going to have other users running servers, you should probably make a group called q3admin and restrict permissions:
Code:
sudo groupadd q3admin
sudo chown -R root:q3admin /usr/local/games/quake3
sudo chmod -R o=r /usr/local/games/quake3
sudo usermod -a -G q3admin rnr
-R is recursive, root:q3admin is the user and group ownership, o=r is setting all "other" users to read only, and -a -G q3admin rnr adds rnr to the q3admin group as a secondary (you don't want to change the primary group here).

For setting up stuff, only use /usr/local/games/quake3 directory for files all servers should be able to access.  For instance, if one server is going to be running rocket arena 3, you would not put it there, you would put it in the server's home directory ~/.q3a/arena.  If all servers should have access to a custom map, say jjm.pk3, then you'd put it in /usr/local/games/quake3/baseq3.  If you only have one user for all servers (which is fine as long as you don't need to allow ssh/ftp access to the server for other users), then you might as well keep them all in .q3a anyway.


Title: Re: Quake 3 server on windows 2003 server
Post by: Orbital-S2D on 2011-10-10, 01:04
Cool man. So it's all installed and copied? Now I just have to copy Over the configs and map paks for the servers and start them right?


Title: Re: Quake 3 server on windows 2003 server
Post by: fourier on 2011-10-10, 16:22
If you're not doing a permissions scheme for multiple users, then yes, just copy over your configs, mods, etc to your home directory and run the servers.  You know how to run the servers as sessions, right?  That way you have better control over them.


Title: Re: Quake 3 server on windows 2003 server
Post by: Orbital-S2D on 2011-10-11, 01:57
I can copy the configs and what not over with winscp. Starting them as sessions I'm not sure about. I remember partially how you had it setup on gin. But I think you had it setup with a script that part I dunno. I remember something about screen.


Title: Re: Quake 3 server on windows 2003 server
Post by: fourier on 2011-10-11, 06:17
I was typing a reply about an hour and a half ago, and just said screw it I'll make a quick script.

I ended up trying a couple things I've never seen before, and then encountering some issues, so I just went back to what I know instead of spending too much time dealing with it.

There's now a script called rnrq3 in the home directory.  You can use ./rnrq3 <start|stop|restart>.  Read the script to get an idea of how it works.  It's fairly close to what it was on the dedicated box.  I think on the dedicated box, I had an extra check to make sure there was only one session with the session name (an issue we ran into on the box) and kill any extras lingering around.


Title: Re: Quake 3 server on windows 2003 server
Post by: Orbital-S2D on 2011-10-12, 10:20
cool i tried to replicate what you did and install urban terror but i cant get the script to run...

I have a home dir in .q3a for q3ut4 and in there i have the server cfg files and stuff and i copyed the install dir for urban terror into usr local games urbanterror and made iourt4ded.x8664 executable.

i ediedt the script and renamed it but it doesnt run./... if i start iout4ded it will run waiting for a map etc...


on another note will it restart with the machine?


Title: Re: Quake 3 server on windows 2003 server
Post by: fourier on 2011-10-12, 17:53
You didn't make it executable and you don't have ut setup properly... i think.  I echo'd out the $DAEMON command, and ran the command:

/usr/local/games/urbanterror/ioUrTded.x86_64 +set dedicated 2 +set fs_basepath /usr/local/games/q3ut4 +set fs_homepath /home/rnr/.q3a +set fs_game q3ut4 +set net_ip 192.168.1.100 +set net_port 27961 +set com_hunkmegs 56 +set com_zonemegs 24 +set vm_game 2 +exec server.cfg
ioq3 1.35urt linux-x86_64 Dec 21 2007
----- FS_Startup -----
Current search path:
/home/rnr/.q3a/q3ut4
/usr/local/games/q3ut4/q3ut4

----------------------
0 files in pk3 files
Couldn't load default.cfg

It did not find any pk3 files for UT.  Looks like you set the wrong basepath: you named the installation urbanterror, not q3ut4, but set q3ut4 as the basepath.  I changed the basepath variable in the script to the correct one.

No, the script has nothing to do with restarting the machine.  It is a control script for handling your q3 servers.  You use crontab to handle running the script and rebooting the machine.

I made an example with the rnrq3 script of how you'd setup the crontab.  You can google to understand what it means.  The >> just appends output to the log file -- it's not the server output, just the output from running the script (if there are errors, although I doubt you'll see any even if there are, as you've already seen it be quiet about permissions and invalid directories).

You shouldn't need to restart the machine, just the servers.  If you really want to reboot the machine, you can do it in root's crontab (edit it by sudo crontab) with something like:
0 5 * * * /sbin/shutdown -r now

If you do choose to do that (again, no reason to do this), then you would have to remove the game server restart from the regular user's crontab.


Title: Re: Quake 3 server on windows 2003 server
Post by: Orbital-S2D on 2011-10-12, 21:01
So how did you make it executable?


Title: Re: Quake 3 server on windows 2003 server
Post by: fourier on 2011-10-12, 23:49
As I said, you have chmod +x it.  You should probably look into basic linux permissions and chmod.  It's not that complicated.  chmod u+x means you are adding execute permission to the user who owns the file.  g+x would be the group that owns the file, and o+x would be all others.  You can use = also, to set permission flags (r,w,x) or - to remove a flag (if it's set).  There are more permissions, like sticky bits, and what not, but the above is all you really need to know. 

I still don't know why it didn't complain about it.  Normally, won't even let you autocomplete with tab if it determines you are trying to execute a file without sufficient privileges.


Title: Re: Quake 3 server on windows 2003 server
Post by: fourier on 2011-10-12, 23:52
Oh, and I don't know how I removed the bit about "on reboot" for crontabs in the post before:
In the crontab, you'll see @reboot as one of the entries.  That's a simple way to run a script once the machine has booted.


Title: Re: Quake 3 server on windows 2003 server
Post by: Orbital-S2D on 2011-10-13, 02:16
well i duplicated the file in winscp edited it etc... and i did the chmod +x but i still had to type $ sh rnrut4 start...

maybe its because i didnt type ./rnrut4 start... i dunno


haha next up teamspeak 3...


Title: Re: Quake 3 server on windows 2003 server
Post by: Orbital-S2D on 2011-10-13, 14:16
DAMN THAT WAS EASY!

http://robert.penz.name/296/howto-install-teamspeak-3-server-on-ubuntu-10-04-lucid/

why couldnt it all have been like that!


Title: Re: Quake 3 server on windows 2003 server
Post by: fourier on 2011-10-13, 20:48
The rest of it is easy too, really, it just depends on your knowledge of the platform.

As for rnrut4, the reason why typing it without ./ will not work is because when you type something in a shell, it has to be a built-in command/script/binary or an absolute path to a command/script/binary.  Why?  Because that's how a shell works -- you have to tell it to do something.  Your PATH env variable contains the search path for locating these when you don't use an absolute path.  ./ tells it you are running a command from the current directory.

Why does sh work without an absolute path?  Because sh is a built in command, so it passes the first stage, and sh expects either a relative or absolute path.

You could add a . to your PATH variable which will always include the current directory when running a command, but that's generally not a good idea for safety concerns (not knowing if you are running a script in the current directory that has the same name as an in built one or vice versa).

There are other things you can do, like making your own bin folder and only putting files you want to be able to execute anywhere in there without using a relative or absolute path notation.