-
Notifications
You must be signed in to change notification settings - Fork 12
Open
Labels
Description
Proposal - POSIX Directory Structure
The purpose of this proposal is to outline the requirements for server behaviour in regards to POSIX directory structure support and RFC for such features.
Outline
The server should move away from the implicit current directory base structure in favour of a configurable base directory that may be globally based, or overridden to support instances of TShock 5.0 on the same server.
Behaviours
- Shared modules/plugins should live in the system-wide plugins directory whereas local modules may live in
$ORION_BASE_PATH/modules - Shared configuration should live in the system-wide configuration directory, and local configuration may live in
$ORION_BASE_PATH/config. The path in which configuration resides is transparently handled by theOrionConfigurationmodule and isn't needed to be worried about by plugins themselves. - The server should obey the environment variable
ORION_BASE_PATHwhich specifies an absolute base directory in which to bootstrap itself out of. This method is easily supported by systemd, launchctl and upstart, and allows for one server per host and server instances at the same time- In absence of this environment variable (or an ENOENT on the directory specified therein), the server should obey the default system-wide directories.
- The server should obey the system-wide configuration in all instances, unless overridden by a local configuration file.
Default Directories
GNU/Linux
/usr/bin/- binary directory/etc/orion/- base system-wide configuration/var/lib/orion- base system-wide orion data/var/lib/orion/modules- base system-wide plugin directory/var/lib/orion/data- base system-wide database directory
MacOSX
/usr/bin/- binary directory/Library/Frameworks/Orion.framework/- base system-wide orion data/Library/Frameworks/Orion.framework/Modules- base system-wide configuration
Windows
%ProgramFiles%\Orion - base binary directory