This is the document the Quake 2 DLL, that is, the source of the Game Subsystem as released by id Software, Inc., and its interaction with the server process of the game.
There is a top level document describing the Q2DP that is mandatory to be distributed along with this document, which is part of the Q2DP collection. See the Q2DP main document for all details on Authors and Contributors, Contacts, Corrections, Submissions, Trademarks and Acknowledgments, Distribution Policy and Copyright. If the top level document is missing, please contact the current maintainer of the Q2DP project, Bernd Kreimeier ( email@example.com), as soon as possible.
You will find the most recent version of this document at www.gamers.org/dEngine/quake2/Q2DP/.
See the ChangeLog for most recent changes to the Q2DP collection, and the Q2DP Supplement for the latest contributions and errata that have not yet been processed.
We rely on you, the reader and fellow developer, to make this collection useful. If you have any suggestions, corrections, or comments, please send them to the current maintainer, Bernd Kreimeier ( firstname.lastname@example.org). For details please read the section on how to submit a contribution in the Q2DP main document.
Quake 2 was designed in a way that in lack of an official name will be called Open Game Architecture throughout this document. The design was based on the experiences with the Quake/QuakeWorld design, which was in turn influenced by the achievements and failures in creating home brew modifications to the game DOOM.
Most notably the deficiencies of the QuakeC scripting language influenced the current design. The Q2 architecture uses a DLL (dynamically linked library), which is loaded at runtime, and can even be switched at runtime, like the refresh libraries.