AUTHINFO

Revision as of 20:28, 2 January 2023 by DrinkyBird (talk | contribs) (Add special lump warning box)
This article documents a Zandronum-specific special lump which may not be supported by ZDoom and its other child ports.

(development version 3.2-alpha and above only) This special lump allows modders to define their own set of lumps that they wish to protect. This is useful in cases where modders want to prevent players from modifying certain lumps (graphics, sounds, sprites, etc.) on their ends and potentially gain an unfair advantage in online games. Lumps can be added to the authentication list with the command:

AddLump <namespace> <name> <last | all>

Where namespace is the namespace that the lump belongs in and name is the lump's name (use quotation marks if there are spaces in the lump's name). A lump can be authenticated using one of two modes:

  • Last - only the last loaded instance of this lump is authenticated. The client and server may load different copies of these lumps, so as long as whichever copy that's loaded last is exactly the same between both of them.
  • All - all loaded instances of this lump are authenticated. Every copy loaded by the client and server must be exactly the same between both of them.


The clearlumps command may be used to remove all lumps from the authentication list. However, if only one lump from a particular namespace needs to removed, it can be done with the command:

RemoveLump <namespace> <name>

Namespace

A lump's namespace follows the same format as the namespaces used in (G)ZDoom and can be one of the following:

  • Global - any lumps outside of markers or in the root directory. If an unknown or invalid namespace is provided, it will default to this.
  • Sprite - lumps of sprite type, located between the S_ or SS_ markers, or in the "Sprites" directory.
  • Flat - lumps of flat type, located between the F_ or FF_ markers, or in the "Flats" directory.
  • Texture - lumps of texture type, located between the TX_ or HI_ markers, or in the "Textures" or "HiRes" directories.
  • Hires - high-resolution lumps that are located between the HI_ markers or in the "HiRes" directory.
  • Voxel - lumps located between the VX_ markers or in the "Voxels" directory.
  • Sound - lumps that may be located in the "Sounds" directory.
  • Patch - lumps that may be located in the "Patches" directory.
  • Graphics - lumps that may be located in the "Graphics" directory.
  • Music - lumps that may be located in the "Music" directory.

Restricted lumps

Zandronum requires that these special lumps, all of which are located in the global namespace, are always protected:

  • COLORMAP - only the last loaded lump.
  • PLAYPAL - only the last loaded lump.
  • HTICDEFS - all loaded instances.
  • HEXNDEFS - all loaded instances.
  • STRFDEFS - all loaded instances.
  • DOOMDEFS - all loaded instances.
  • GLDEFS - all loaded instances.
  • DECORATE - all loaded instances.
  • LOADACS - all loaded instances.
  • DEHACKED - all loaded instances.
  • GAMEMODE - all loaded instances.
  • MAPINFO - all loaded instances.
  • AUTHINFO - all loaded instances.

AUTHINFO cannot modify any of these lumps and any attempt at doing so will print an error message during startup.