Skunk
19-05-2001, 18:35
One of the main tenants of the open source philosophy is that security by obscurity (i.e thinking that something is secure because the source code for that thing isn't available) is a flawed concept. If you code something "openly" to be secure then you can't leave security holes in there- they will be spotted and patched out by the open source community. If your source code is closed security holes can go unspotted for years until some whiley cracked figures them out and exploits them.
This is all well and good, but think about this from an online gaming point of view. When the source code for QuakeWorld was open-sourced by ID Software the QW community was devastated by a huge influx in cheaters, using hacks derived from the now-available source code. The very nature of online games (where lag prediction needs to be taken into account) means that it is essential for the PC to "know" more about the game world than it passes on to the player. Unfortunately this means that a code modification can make this information available as a cheat. Take for example the infamous "see through walls" hacks. The computer needs to know the position of other players within the gameworld without the player knowing about them in order to keep the screen updated should a network problem temporarily break the stream of information. Unforunately this means that security by obscurity is a necesity in order to prevent the player from illegally acessing this information.
Another example: The Asus cheat drivers. The discussion on slashdot about these brought up a great deal of support from the open source community for the drivers - anything that gives you more control over your underlying hardware is a good thing. One person even pointed out that the fact that the drivers can show you tstuff "through walls" is an indication that the graphics engine code is flawed, in that it is rendering polygons and then covering them up with other polygons to make them invisible.
My point? I'm not sure that I've got one. I suppose the big question is "Is it possible to create an open source multiplayer FPS game engine without making it incredibly easy for cheaters to 'hack' the engine and give themselves an unfair advantage?"
References:
Slashdot Topic (http://slashdot.org/article.pl?sid=01/05/16/2125257&mode=thread)
Eric Raymond spiel on open source Quake (http://www.tuxedo.org/~esr/writings/quake-cheats.html)
This is all well and good, but think about this from an online gaming point of view. When the source code for QuakeWorld was open-sourced by ID Software the QW community was devastated by a huge influx in cheaters, using hacks derived from the now-available source code. The very nature of online games (where lag prediction needs to be taken into account) means that it is essential for the PC to "know" more about the game world than it passes on to the player. Unfortunately this means that a code modification can make this information available as a cheat. Take for example the infamous "see through walls" hacks. The computer needs to know the position of other players within the gameworld without the player knowing about them in order to keep the screen updated should a network problem temporarily break the stream of information. Unforunately this means that security by obscurity is a necesity in order to prevent the player from illegally acessing this information.
Another example: The Asus cheat drivers. The discussion on slashdot about these brought up a great deal of support from the open source community for the drivers - anything that gives you more control over your underlying hardware is a good thing. One person even pointed out that the fact that the drivers can show you tstuff "through walls" is an indication that the graphics engine code is flawed, in that it is rendering polygons and then covering them up with other polygons to make them invisible.
My point? I'm not sure that I've got one. I suppose the big question is "Is it possible to create an open source multiplayer FPS game engine without making it incredibly easy for cheaters to 'hack' the engine and give themselves an unfair advantage?"
References:
Slashdot Topic (http://slashdot.org/article.pl?sid=01/05/16/2125257&mode=thread)
Eric Raymond spiel on open source Quake (http://www.tuxedo.org/~esr/writings/quake-cheats.html)