Lost Souls directory structure
From LSWiki
(diff) ←Older revision | Current revision | Newer revision→ (diff)
This structure of this file mirror the LS directory structure. If you don't know how to navigate the directory structure, please read the Developer Primer.
This page is going to need a lot more work, but it's worthwhile work, especially since I don't actually the actual organizational principles behind half this stuff.
Contents |
/d
This is where the world is. The "d" stands for "domain", which apparently used to mean something. Chaos claims that this stands for "deployed", but we all know he's a dirty liar.
Write access privilege: write_d
/d/Affiliations
This is where affiliations (associations, guilds, offices, racial and other faculties).
Read access privilege: read_sensitive
Write access privilege: write_sensitive
/d/Almeria
This is where the main map and the main world is, though it's all in subdirectories. Take a look, it should be pretty clear.
/d/System
This is where Bytehaven is, which is an area with a few handy developer bits like the test character register, and the Banishment tablet. There is also a project called Public that has some 'utility' rooms.
/d/Misc
Things that don't belong elsewhere, like projects that are primarily about items (Lzrelekoi) or wandering areas (the Vanishing Tower).
/d/(various planes)
Like Almeria, except not on Almeria.
/daemon
This is where daemons are. What are daemons you ask? Good question. Basically I think they are objects that control, handle, and store data. Right?
Read access privilege: read_lib
Write access privilege: write_lib
/def
This is where definition files reside. Definitions are abstract files that determine certain generic properties of particular files. Races, anatomies, weapon types, damage types, are all examples of things that have definitions.
Read access privilege: read_lib
Write access privilege: write_lib
/etc
A few general lib files are here, like item.h
/lib
More particular, but still very general, lib files are here. Project lib files can usually be found in /d/Almeria/lib, or /d/Affiliations/lib, or something of that sort.
/lib/dev
This is where developer work-in-progress lib files go; everyone has write access to this directory.
/lib/descriptors
This is where the header files that are automatically generated by the descriptor definitions in /def/descriptor are kept. Most header files are manually maintained; these are unusual in being created by the system.
/mod
This hierarchy contains component modules, mainly to be assembled into complete inheritables by things in /std.
/obj
This hierarchy mainly contains files that are intended to be physical objects in the game world; weapons, armour, comestibles, and so on. There are a few special cases.
Read access privilege: read_lib
Write access privilege: write_lib
/obj/extensions
This is where standard system-wide extension objects are kept. Extensions are a way of loading functionality onto objects using attached, subsidiary objects; for instance, all weapon functionality is tracked by a weapon extension. This allows any object to be treated as an improvised weapon if need be.
/obj/interfaces
System-level input dialog interfaces are kept here. These are objects whose purpose is to handle an interactive dialog; the best example is /obj/interfaces/creation.c, which is the character generation interface.
/obj/master
This is where things like the master object and the simul_efun object are kept -- crucial system things.
Read access privilege: read_secure
Write access privilege: write_secure
/pub
This is a public directory hierarchy where files can be exchanged and freely edited, and so on. One interesting subdirectory is /pub/defunct, where we generally put the /w directories of former developers.
/std
/sys
/tmp
A public directory for temporary files. Files in this directory are cleared out periodically.
/txt
/usr
User files, mainly incarnos and kept-item save files, are in this hierarchy.
/w
This is where developer workspaces go; your personal directory, /w/yourname, is under this hierarchy. Originally the 'w' stood for 'wizard', back when we used such ill-advised terminology for developers, and the whole 'workspace' thing is just so we don't have to change the directory name.