Help Wanted: Volunteer Linux System Administrator

ioquake3 is an entirely volunteer-run project and we need more volunteers! Please share this post with your friends.

If you love maintaining Linux servers, and specifically Ubuntu Server, this is the role for you. The ioquake3 project is looking for a qualified Linux Systems Administrator to assist with maintaining our Ubuntu VPS. We need someone to help maintain our server and it’s services, keep it running, and up-to-date.

The first major goal we need to accomplish is to move our web sites off of DreamHost and onto the VPS that Ryan “icculus” Gordon provides for our project.

This role should not require much of your time once you become familiar with our systems. A few hours a week should take care of it, outside of any large upgrades.

Basic Qualifications:

  • 2+ years of experience with Linux Systems Administration. You need to have done this before if you’re going to help the project.
  • Virtual Private Servers
  • Apache configuration
  • nginx
  • PHP. You don’t have to be able to develop a new application in it, but most of the webapps we use make use of it.
  • Experience working with other free or open source software projects.
  • DNS
  • Domain registration
  • Experience with terrible shared hosting providers

Preferred Qualifications:

Please write an introductory e-mail to zachary at ioquake dot org (there’s no 3 in the domain name for our email services)  and we’ll discuss your future with the project.

Because this is a free software project and we receive what amounts to almost no donations please keep in mind that this is a VOLUNTEER ROLE. That also means you get to work entirely remotely. Woohoo!

If this role doesn’t sound good for you, there is plenty more work to be done. We need to make ioquake3 the best and easiest way to play Quake 3 on Windows, macOS, and Linux, develop new games, and play mods. This is your opportunity to contribute to an incredible free software project that needs your help. Get involved.

If you don’t have time to help, please contribute to Ryan’s Patreon campaign here.

Auto-Update Update

Ryan “icculus” Gordon has surprised us with a cross-platform auto-updater for ioquake3.

Created thanks to contributions to his patreon campaign, here’s how Ryan describes it:

I’ve written an autoupdater for ioquake3, with the intention of the game operating much like Google Chrome…it just stays up to date and you don’t really notice. This has been a long-time wishlist item for the ioq3 team…as they are locked out of platforms like Steam, they’ve been stuck telling people to download the game over and over, maybe migrating their mods, or live without new features and fixes.

Once this solidifies, the official builds will just keep staying up to date, which is pretty sweet. And of course, this is optional, so it won’t interfere with distro packages and such.

We still need to implement the network infrastructure behind the update mechanism, but this is a very important and large first step on that road.

You can browse the code in this pull request and this update that added more security features to the process.

Or read more about the updater in these three blog posts from Ryan:

  1. Project: ioquake3 autoupdater
  2. ioquake3 autoupdater: now with Linux support!
  3. ioquake3 autoupdater: now with Windows support!

Please contribute to Ryan’s patreon campaign if you enjoy his work.

If you’d like to support ioquake3  in a roundabout way I am selling t-shirts and hoodies for Nuclear Monster.

ioquake3 is an entirely volunteer-run project and we still need your help, please check out this page on our wiki for more information.

Help Wanted

Last month I wrote about an important security update, and we were lucky that the news was spread far and wide but many players still didn’t see it.

Even if they read the news, and they updated to the latest build of ioquake3, they wouldn’t have caught the follow-up security commits to the code repository unless they downloaded another test build more recently.

We have a serious issue getting people on the latest code because our installers and DMGs are 8 years old and designed for a time when the only way to get Quake 3 was on a disc.

That’s changed, the only good way to get Quake 3 today is on Steam or gog. You can probably find old discs on ebay, but I wouldn’t bother when you can get digital bits delivered instantly. There are huge caveats to those digital platforms, #1 for us is that if you’re on macOS or Linux it is not at all straightforward to get the data from Steam or gog.

If we had a standalone baseq3 replacement of our own, that would not be as big of an issue.

Even if we had installers that were modernized, our binaries aren’t code signed and so players on macOS and Windows receive warnings and their operating systems prevent our code from being executed. We need help resolving that issue from someone who is more familiar with the code signing process.

Even if our binaries were code-signed, we don’t have any way for players to get the latest binaries automatically. This has become the new normal for games delivered via Steam and standalone mechanism’s like the one Blizzard uses for their games. Even web browsers like Firefox and Chrome have been doing this for years. Networked software needs security updates, and we can’t get it to players without an auto-update mechanism.

Here again I will make the caveat that it would be possible for ioquake3 to be on Steam if only we had a standalone game, even a minimal one, for players to play when they don’t own Quake 3.

Around this time last year I wrote a post about an issue when the id master server was down, because id (thankfully) was able to bring their master server online we did not get a fix implemented and committed to our git repo. This means that exceptionally long-running Quake 3 servers might still be reporting to the wrong ioquake3 master server, and if id has ever changed their master ip address it could be wrong for those servers as well. It also means that the in-game Quake 3 server browser still only receives servers from id’s master.

When security issues, and others like the id master server downtime, occur, it would be amazing if we could also announce that they are already resolved for players on our auto-update system instead of having to post blog posts and hope that people update before their computers are compromised.

We need to deliver updated code automatically to everyone, and make it as easy as possible to play Quake 3, mods, and games built on this engine. We need a project manager to help get our launcher project going again and developers to work on adding an auto-update mechanism to it.

This project, ioquake3, is entirely volunteer-driven. We receive no grants of time or money from any corporation except for the wonderful discourse forum donated from the Discourse enterprise. We spend more money on hosting ioquake3 and its servers than it gets in donations.

We can’t move one step without volunteer contributions from the community of players and developers who love Quake 3 and the projects that have been built off of the source code. It’s only with those contributions that we have been able to develop ioquake3 for the past 12(!) years.

While there wouldn’t be an ioquake3 project without the code, the contributions we need now are in recognition of the mature status this codebase has reached.

We need help from build and release engineers to update and maintain our installation process for Windows, macOS, and Linux.

We need help from people who love writing documentation to help players, game makers, and systems administrators get started with ioquake3.

We need help from people to create art, sounds, maps, and menus for a small stand-in for baseq3 when people don’t own Quake 3: Arena but want to use this incredible code to get some frags in or to get started making a game.

We need help from anyone who loves the quality assurance process to go through our bug queues on Bugzilla & Github in order to triage and duplicate those issues to confirm their continued threat and eradicate them. Testing is part of quality assurance and testing means playing Quake 3, who wouldn’t want to do that?

We need help from people who want to help other players on our forums, live chat on our Discord server, and on our Facebook page.

We need to make ioquake3 the best and easiest way to play Quake 3 on Windows, Mac, and Linux, develop new games, and play mods. This is your opportunity to contribute to an incredible free software project that needs your help. Get involved.

Important Security Update: Please Update ioquake3 Immediately

Please immediately update ioquake3 to the latest test build before you connect to any online servers. Despite the name, the test builds are in fact way more stable and secure than any release at this time.

In doing so you’ll also receive access to all kinds of other updates and changes that we’ve made since you last installed ioquake3.

Here’s the why:

We recently pushed  a large security fix that prevents malicious actions from multiplayer servers.

Please share this news with any other Quake 3 players you know. It’s on Facebook and Twitter as well. These kinds of exploits are even worse in the regular Quake 3 client, nobody should be using that anymore.

Our Player’s Guide can help new Quake 3 players get started with ioquake3.

Ideally, we would distribute these security fixes automatically, similar to the way browsers like Chrome and Firefox distribute updates. Games on consoles, or in Steam, require updates in order to go online and happen automatically now. This way, we could distribute an update first so that nobody who is online is vulnerable in an ideal scenario.

Right now we don’t have anyone working on that issue, if you are interested in helping us with an auto-update system to be built into our launcher, get in touch.

Until then, please update your test build as often as you can to get the latest security changes.

ioquake3 is an all-volunteer project that needs your help. Check out this page if you’d like to join us in our mission to keep Quake 3 alive.

Our thanks to Victor Roemer for reporting the vulnerability.

If you find a security vulnerability, please e-mail zachary@ioquake.org.

ioquake3… in Docker?!

The folks from the open platform for building, shipping, and running distributed applications called Docker demonstrated a containerized version of ioquake3 at Dockercon. Not just the server, but also the client. Docker’s Arnaud “icecrime” Porterie even called ioquake3 “The best game ever” in their dockerfile description. I don’t think I could be more proud. They were already my favorite container project when I started using Docker for our Discourse forum installation.

Happy New Year, ioquake3 and github!

Hi All,

This August will be the 7th Anniversary of ioquake3!
Time flies when you’re fragging fools and breaking builds.
We still haven’t had a release since 2009. Don’t worry, we still have another 365 days to go until it has been 5 years since a release!
The real reason for this post is that I wanted to tell you all that we’re moving the project to github.
There is a new organization there, called ioquake.
But most importantly there is a project there that you can clone, fork, and send pull requests.
Bugzilla and other things hosted on icculus.org will keep going, but the SVN repository is now deprecated and I don’t know if it will remain online or not. If possible, we may set up a thing to automatically slurp in changes from the github project.
ioquake3.org itself is not going anywhere
Thank you to everyone who has contributed and played ioquake3 since the project started on August 20th, 2005!

Make sure to join us on server.ioquake3.org for some baseq3 fragging when you get a chance!

Here are your top-ten all-time contributors, by number of commits:

  1. Thilo Schulz
  2. Tim Angus
  3. Ludwig Nussel
  4. Zack Middleton
  5. Ryan C. Gordon (he beat me by 3 commits!)
  6. Zachary J. Slater
  7. Tony J. White
  8. Aaron Gyes
  9. James Canete
  10. Coyote

If you have any questions or suggestions let me know in the comments here, on our freenode irc channel #ioquake3, or on our twitter account and facebook page.

Continue reading “Happy New Year, ioquake3 and github!”

ioquake3 and OS X Mountain Lion

10imac27 photo

The latest version of OS X, Mountain Lion has been available for a little while and we have now confirmed that ioquake3’s latest SVN (revision 2306) compiles and runs smoothly on it.

If you already have ioquake3 installed on your intel Mac running 10.6 or greater please try a test build:

It should run fine under Mountain Lion, if you have Gatekeeper enabled with the default setting you will have to right click and then select Open on the .app.

Please let us know if it works well for you.

Updated Builds

For a long time now, we haven’t released a new version of ioquake3. You’re probably wondering if we’re dead or not, then you see how we’re talking about VOIP, or IPV6, or stereoscopic rendering or whatever, and you want in on that action.

For you, precious reader, we now have Angst Builds. Enjoy.

VOIP Support in SVN

Lets examine two quick points:

  • Hardcore gamers like choices.
  • Hardcore gamers like VOIP.

Based on these theories, ioquake3 is adding VOIP support for the next release. This internal support is going to bring along with it support for (entirely optional) Mumble positional VOIP audio. More nerd-speak after the break, the short and quick of it is, however:

We’re going to have VOIP for mods/new games, and baseq3. This is a pretty radical departure from the initial goal of not changing anything in baseq3, and is probably the single largest (obvious) end-user benefit for using ioquake3.

The fact of the matter is that if you want to blame someone for allowing it to be included, you can blame me (Zachary, lead omnipresent overseer of ioquake and related entities). If, however, this makes you happy and you want to praise somebody, give either big ups OR big props to Ryan Gordon (lead intergalactic space nerd) and Ludwig (Herr Angst).

Please, do not spoil them with both ups AND props.

 

Continue reading “VOIP Support in SVN”

q3osc: Using ioquake3 as a musical environment

Robert Hamilton of the Stanford University Center for Computer Research in Music and Acoustics has just released a fully usable version of q3osc.

From the Forum post:

q3osc is my updated version of Julian Oliver’s older q3apd mod which streamed user data from quake3 to the Pure Data (PD) audio processing language. I’ve built a similar project from a clean ioquake3 codebase and included a complete oscpack c++ lib to properly output not only user position data over osc but also individual projectiles, like plasma ball and BFG balls. The short of it is that that output can be used in a music software environment like PD, Max/MSP, Supercollider or ChucK to build interactive musical environments.

What does this mean? Means you can make music by playing the game! Some video demo’s included after the fold.

Check out the CCRMA wiki with complete specs and full information about it.

Also:

If any mappers out there would like to build some environments which could be used for musical performance, please let me know. My mapping chops aren’t exactly stellar.

So all you mappers get to work making some awesome maps for a really cool project!

Continue reading “q3osc: Using ioquake3 as a musical environment”

Mailing List Move

Update 2: The mailing list move is complete, archives are fully available now.

Update 1: The mailing list move is almost complete, archives remain to be moved because Dreamhost support isn’t done yet. But everyone who was subscribed should be resubscribed. Please refer to http://lists.ioquake.org/ for all inquiries regarding the discussion list now. The Discussion list is the only list that is moving for now.

The main discussion list is moving to lists.ioquake.org. Things are going as planned with this move, but are taking a little longer than expected. Expect another update when the move is complete.

Stereoscopic viewing in ioquake3

With all the 3D frenzy for home entertainment systems going on, ioquake3 did not want to fall behind, so as of the latest SVN revision ioquake3 officially supports rendering of stereoscopic images. Actually, we’re not quite sure whether this works for quad buffer based rendering methods for shutter glasses as we lack the hardware (can someone give us a heads-up on this? Any SGI fanboys here?), but rendering of anaglyph images definitely does.

You need to have red-cyan glasses to view these images in their full glory. As always, the cvars and switches needed to turn on this new functionality can be found in the changes to the README. I have also written up an extensive information page about the techniques behind stereo rendering on ioquake3’s wiki to get you going on stereoscopic ioquake3.

Raytracing ioquake3

Stephan Reiter wrote into the mailing list with this amazing news (both videos are embedded after the break):

Hi everyone!

I’ve been working on a raytracing library during the last few months. Last week I was able to integrate it into the ioquake3 source code. This allows for switching between traditional rasterization and raytracing using a cvar. There are also some debug modes specific to the raytracing-mode.

I’ve posted two videos at YouTube showing Elite Force Raytraced, which is based on Thilo Schulz’s excellent Elite Force patch for ioquake3.
The 1st video focuses on raytraced reflections and other changes of the look: http://youtube.com/watch?v=jLFrP0c7VWw
The 2nd video is basically a record of a bot deathmatch: http://youtube.com/watch?v=C_6Icf2m_C4

I intend to release this code soon, but I plan to take some more time to polish it some more.
Comments are appreciated.

Keep up the good work, ioquake3-community!
Thanks,
Stephan

Continue reading “Raytracing ioquake3”