QuakeWorld client for MS-DOS

So as leileilol pointed on on VOGONS, QuakeWorld’s networking was a rapid departure from Quake 1, and formed the basis of a lot of modern multiplayer games… Like teamfortress and half-life.

So with a little bit of work, I was able to compile a QuakeWorld client for MS-DOS. Or here for the standalone exe, and don’t forget CWSDPMI. Oh and be sure to get a packet driver, for your NIC. Many vendors have these on their site for newer stuff.

Now I managed to get a new computer between posts, and it’s not working on virtual pc… I may be 500 updates behind though so maybe it’s something else. So in the meantime I’m testing with Qemu.

The other oddity is that compiling QuakeWorld with GCC 2.95.3 with either -O1 or -O2 builds a client that will time out after 2 minutes… -O0 ran for over an hour with me playing and dying a lot on quake.xs4all.nl:27500 …

Oh and what good would this be without pictures?

Yes, I’m really that bad.

You can find quakeworld servers on the site quakeservers.net. And I can verify that you can indeed download levels!


22 thoughts on “QuakeWorld client for MS-DOS

  1. Trying to connect to the FFA server and others give me

    “Error: Mod_PointInLeaf: bad model”

    I can connect to quake.shmack.net and painkeep just fine though?

    • what is the FFA server? 🙂 I’m a n00b and its been a while since I’ve touched this, although I should do something quakeish…..!

      • quake.xs4all.nl

        it also crashes on regular qwcl and glqwcl, so it must be using something nto friendly to standard quake clients. I know you typically need ezquake or something similar to get it to connect.

        • Well don’t forget this is pretty much ‘stock’ QuakeWorld I had massive problems with my OS/2 port as well there, and I always got booted for ‘timing cheats’ …. Although there is no cheating going on!

    • Maybe it is just a matter of finding the network code in this ezquake and dropping it in & compiling it…?

      Are you running this native or via an emulator?

      The only DOS PC I have now is a 486 and…. well it’s not quake capable…. sigh.

  2. Native.

    P2 400mhz with 1GB and V5 5500 in pure DOS.

    Runs great. I can actually connect to some of the tastyspleen mega TF servers as well.

    I don’t know much about coding, but really if you get the regular quake to compile then i can finally play quake.shmack.net (Rune Quake) on DOS as well.

    If you want to schedule a game sometime over your qw client let me know 😀

    • wow that is awesome, I bet you are the last/only MS-DOS quake player out there… 🙂 I’ll have to dig out some DJGPP and start to hack away…… I may also just install a stock QW on my VPS… or… quakeworld.superglobalmegacorp.com (it is a tad too long!!!!)

      • I love the old school stuff. Please, by all means install it! I’m more of a coop guy myself but anyone who wants to play any 90s FPS at any time I’m there.

        The other bug I’ve noticed is if you change to 640×480 it’s says something about a missing lmp file. I might be able to find out what’s up with that. If you do it without the menu and type vid_mode 12 into the console it will switch to the resolution but when I connected it was a bit screwy.

        Oh well, 320×240 is just fine. Totally stock, blast to the past. I’d love to have FOV 105 pass through into the console and keep your gun model showing too. Maybe I’ll have to learn some code :P.


        • Yeah the MS-DOS version really was an OMG it compiled… I honestly didn’t expect it to work.. And the long filename issues with anything “modern” kind of spurned me onto the OS/2 version.. Although now I have to wonder if the whole “problem” was more related to the client networking being out of sync for what people run on servers now…

          Or maybe it’s just dumb/blind luck!

          • I’m willing to bet it has something to do with how it’s synching. You could try connecting to my FVF coop server with your os/2 client at maraakate.servegame.com. It’s FTE server, but strictly vanilla in terms of anticheat settings and shit like that. The mod was a netquake/standard quake mod and FTE is the only thing that will run original quake progs over quakeworld protocol.

          • Probably… I didn’t do anything to the code, other than some initialization and polling thing, it is pretty much stock.

            I’m downloading stuff right now, as long as it is 8.3 friendly I imagine it’ll be fine… I hope.. 🙂 I need to either re-install OS/2 (and all the fixpaks and stuff….) or add an HPFS drive……

        • Also, you’re right. I’m probably even the only guy who is using your client. It’s really cool to use DOS as a serious internet tool. If your network card has a packet driver and NDIS driver it’s surprisingly easy to set it up. I just have a crossover that runs into my laptop and have internet connection sharing (too lazy to run more wires to the router!) and it’s working awesome.

          • There was some passing interest at first, I think the bigger thing was that 99% of us had never played quake1 successfully on the internet, because it either required that BeamieWhiteside TCP/IP stack which was expensive, or the OpenGL/Windows version which was insanely resource driven…I had a 486 at the time so by the time I got a PII (never did get a P60…) the world have moved on so it was moot. And of course up until a year or so ago they were still making packet drivers for things so I figured at some point it would be nice to have a client other than some bound ‘ping’ or telnet thing… Quake is for the lack of a better term, a more graphic demonstration that its working correctly! 🙂

  3. Speaking of that beam/whiteside TCP/IP stack. Have you ever found it? I’ve been searching the dark corners of telnet wares BBS’ for it, haha. Someone out there has it deteriorating away on an unlabeled floppy disk. 😛 The stack you used works pretty well, I know LeetIRC for DOS uses as well. Theres MTCP which also uses his own stack which I believe is open source. I prefer his stack because it doesn’t default to that BOOTP shit.

    • would you believe I’ve met him? I did ask about it, and he mentioned something about selling out to MS and he doesn’t have any copies anymore…. after all who’d care about TCP/IP for MS-DOS/Windows 3.0 ??? (naturally I would….! )

      I’m pretty sure in Wattcp there is either options to disable BOOTP, or some ‘surgery’ on the source could remove the whole thing…. I never bothered with either. I picked wattcp because it was free, had a BSD socket interface, and it worked with DJGPP which I figured would give me the best chance of it working with the least amount of effort/hassle on my behest… 🙂

  4. More stuff, the reply button doesn’t always show up. But, yes slowing it down might be appropriate because usually anything past about 200mhz I believe falls victim to that Runtime 200 Error and games run way too fast if it’s pre 90s stuff. Pentium 1’s had that “Turbo” switch which basically just reset the clock speed to about 33mhz I believe it was. Sometimes, I have to run moslo for some really old games and set it to about 50% of my clockrate and it usually seems okay. This is the later era Pentium 2’s that don’t let you change the multiplier or else I’d just set the jumpers to a 200mhz to play older games.

    • I think this blog software doesn’t support threads more than four deep … I guess that is what you get for free…

      Oh the runtime 200 errors from Turbo Pascal!.. there is some fixes somewhere from some German magazine that works surprisingly well for it.. I think its largely BBS stuff that cares (LORD?) .. It is strange how much stuff was Pascal based that just disappeared … But then everything went C++ and its been downhill since IMHO … Quake is in regular ANSI C so its not as bad, although there has been some clear rewriting of stuff as so many variables overlap and are never actually used it is … confusing. I’m still downloading from your quake server.. dude.mdl … still trucking away.

Leave a Reply

Your email address will not be published. Required fields are marked *