This page documents the directory structure used by Atrinik server.
- data: This directory is created by one of the install scripts, and stores data files used by the server. For example, Atrinik SQLite database, guilds database and other data files generated by the server are stored here.
- tmp: Contains temporary files used by the server.
- unique-items: Contains unique items, saved by the server from maps with floor that has FLAG_UNIQUE set.
- doc: Contains documentation about the server, mostly in Doxygen style.
- fields: Contains Doxygen documentation about various different fields used by different object types. All files in this directory are automatically generated from arch/dev/editor/conf/types.xml using the gridarta-types-convert Atrinik tool.
- types: Contains documentation about many different object types. As the fields directory, all files are automatically generated by the gridarta-types-convert tool.
- types-extra: Contains extra documentation about various different object types. The directory contents, unlike the types directory contents, are NOT automatically generated. Mostly contains documentation about which object types use which object fields and flags, and is mainly meant for server developers.
- install: Contains base files that should be copied to new data directory by one of the scripts.
- linux: Contains shell script to be ran by `make install` for GNU/Linux.
- win32: Contains batch script to be ran by the user after a successful compilation of Atrinik server on win32, in order to create common directories for server to store data, and copy files from the arch directory needed by the server.
- lib: This directory is created by one of the install scripts in the install directory. It contains files (but not directories) located in the arch directory.
- make: Contains directories with Makefiles for various different systems.
- linux: Contains files for compiling the server on GNU/Linux.
- win32: Contains more directories, for compiling on win32 using different IDEs.
- CodeBlocks: Contains project files to compile the server using Code::Blocks IDE on win32.
- plugins: After a successful compilation and installation, this directory will contain plugin shared libraries to be loaded by the server on startup.
- src: Contains the source files of the Atrinik server.
- common: Contains common functions and source files. All the source files in this directory are on compilation compiled to a static library, so the functions can be used, for example, by both server code and plugins.
- include: Contains header files for the actual code, including function prototypes in files like sproto.h.
- plugins: Plugins code. In this directory, other directions are located, with actual plugins code.
- common: Common functions for other plugins. Compiled into a static library.
- All other directories: All other directories contain code and header files for different plugins.
- random_maps: This directory contains source code used by the random maps module for the server. Compiled into a static library to provide the functions for the server.
- server: Contains actual server code, including the main function, and many other core functions.
- socket: Contains socket related code.
- types: This directory contains code used by various different object types, for example, waypoint code in waypoint.c, monster related code in monster.c, etc.
- utils: Contains optional utility scripts and programs to be used for maintaining the Atrinik server.
- zlib: Contains source code and header files for the zlib library used by socket code. This makes it easy to update to new version of the library.