Some people took it upon themselves to remotely wreck Slade's development system. That is no more defensible than breaking into Id and smashing something.The idea isn't to punish anyone, it is to have them comply with the license and continue to contribute. QuakeLives has quite a few happy users, and it is in everyone's best interest to have development continue. It just has to be by the rules.
While you're looking at .plan files check out the updates from GreenMarine and George Broussard about office antics.
To download binaries or proceed into this site, you have to give up your rights under the GPL. Specifically the rights regarding access to the source code. And while we are obligated to offer you the source code, for up to 3 years until we stop releasing this. To gain access to this site, you are obligated not to ask.So the guy wants to protect his source code? Big deal right? Wrong! Carmack released the source under the GPL. What's that? The GNU Public License. And here's a snippet of it:
"6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. YOU MAY NOT IMPOSE ANY FURTHER RESTRICTIONS ON THE RECIPIENTS' EXERCISE OF THE RIGHTS GRANTED HEREIN."Anyhow, whats this mean? All these free software jokers who do stuff with Linux are up a creek if this kind of mess can happen. Any Tom, Dick or Harry, can take their software, close it and sell it! Anyway here's Carmack's whole "don't mess with me foo" .plan update.
This is a public statement that is also being sent directly to Slade at QuakeLives regarding http://www.quakelives.com/main/ql.cgi?section=dlagreement&file=qwcl-win32/" rel="nofollow" target="_blank" class="external
I see both sides of this. Your goals are positive, and I understand the issues and the difficulties that your project has to work under because of the GPL. I have also seen some GPL zealots acting petty and immature towards you very early on (while it is within everyone's rights to DEMAND code under the GPL, it isn't necessarily the best attitude to take), which probably colors some of your views on the subject.
We discussed several possible legal solutions to the issues.
This isn't one of them.
While I doubt your "give up your rights" click through would hold up in court, I am positive that you are required to give the source to anyone that asks for it that got a binary from someone else. This doesn't provide the obscurity needed for a gaming level of security.
I cut you a lot of slack because I honestly thought you intended to properly follow through with the requirements of the GPL, and you were just trying to get something fun out ASAP. It looks like I was wrong.
If you can't stand to work under the GPL, you should release the code to your last binary and give up your project. I would prefer that you continue your work, but abide by the GPL.
If necessary, I will pay whatever lawyer the Free Software Foundation reccomends to pursue this.
Several people have mentioned an existing anti-cheat QW proxy that should also be applicable to modified versions:
http://www.students.tut.fi/~zibbo/qizmo/" rel="nofollow" target="_blank" class="external
There are server-side countermeasures that look for sequences of moves that are likely to be bot-generated and not human-generated, but that is an arms race that will end with skilled human players eventually getting identified as subtle bots.
Media cheats can be protected by various checksums, as we do in Q3 with the sv_pure option. This is only effective if the network protocol is not compromised, because otherwise a proxy can tell the client that it's hacked media are actually ok.
If the network protocol is not known, then the extra-information cheats generally can't happen unless you can hack the client source.
There are a number of people upset about the Quake 1 source code release, because it is allowing cheating in existing games. There will be a sorting out period as people figure out what directions the Quake1 world is going to go in with the new capabilities, but it will still be possible to have cheat free games after a few things get worked out.
Here's what needs to be done:
- You have to assume the server is trusted. Because of the wau quake mods work, It has always been possible to have server side cheats along the lines of "if name == mine, scale damage by 75%". You have to trust the server operator.
- So, the problem then becomes a matter of making sure the clients are all playing with an acceptable version before allowing them to connect to the server. You obviously can't just ask the client, because if it is hacked it can just tell you what you want to hear. Because of the nature of the GPL, you can't just have a hidden part of the code to do verification.
- What needs to be done is to create two closed source programs that act as executable loaders / verifiers and communication proxies for the client and server. These would need to be produced for each platform the game runs on. Some modifications will need to be done to the open source code to allow it to (optionally) communicate with these proxies.
- These programs would perform a robust binary digest of the programs they are loading and communicate with their peer in a complex encrypted protocol before allowing the game connection to start. It may be possible to bypass the proxy for normal packets to avoid adding any scheduling or latency issues, but it will need to be involved to some degree to prevent a cheater from hijacking the connection once it is created.
- The server operator would determine which versions of the game are to be allowed to connect to their server if they wish to enforce proxy protection. The part of the community that wants to be competetive will have to agree to some reasonable schedule of adoption of new versions.
- Nothing in online games is cheat-proof (there is allways the device driver level of things to hack on), but that would actually be more secure than the game as it originally shipped, because hex edited patches wouldn't work any more. Someone could still in theory hack the closed source programs, but that is the same situation everyone was in with the original game.
- People can start working on this immediately. There is some prior art in various unix games that would probably be helpfull. It would also be a good idea to find some crypto hackers to review proposed proxy communication strategies.
Heh. You don't know how much trouble it is to convince biz oriented people that this isn't just plain stupid.
While thinking in terms of money and profit are probably good ways of understanding the way most things work in the world, don't let yourself become so jaded or cynical to think that it is the ONLY way things work.
I do think The World Would Be A Better Place if all software companies released older code so users still interested could work with it or learn from it. (I'm not holding my breath, though)
John Carmack
This is the complete source code for winquake, glquake, quakeworld, and glquakeworld.
The projects have been tested with visual C++ 6.0, but masm is also required to build the assembly language files. It is possible to change a #define and build with only C code, but the software rendering versions lose almost half its speed. The OpenGL versions will not be effected very much. The gas2masm tool was created to allow us to use the same source for the dos, linux, and windows versions, but I don't really recommend anyone mess with the asm code.
The original dos version of Quake should also be buildable from these sources, but we didn't bother trying.
The code is all licensed under the terms of the GPL (gnu public license). You should read the entire license, but the gist of it is that you can do anything you want with the code, including sell your new version. The catch is that if you distribute new binary versions, you are required to make the entire source code available rce code available for free to everyone.
However, word from John Carmack is that they are holding on to the 'game source' code for Quake3 for a while since they are still making changes to that part of the code base. Here's the .plan update
The Q3 game source code is getting pushed back a bit because we had to do some rearranging in the current codebase to facilitate the release, and we don't want to release in-progress code before the official binary point release.
We still have a Christmas present for the coders, though: http://www.idsoftware.com/q1source/" rel="nofollow" target="_blank" class="external Happy holidays!
After you grab all your cool new toys, the Quake3 Editing board is there for the taking.
Thanks to the dude in #shugashack who pointed this article out, I forgot your name though, sorry :)It plays much the same as "Doom," but is technologically enhanced. While "Doom" allowed as many as four players to blast away together on a level, "Quake" is now so advanced that hundreds of gunners can play together. "Quake" has been criticized as being one of the most violent computer games ever, but according to Jay Wilbur, the Biz Guy (yes, Biz Guy) at id Software, that's not a problem.
Advertisement