Jump to content

fcraftd

From fCraft Wiki

fcraftd is an unofficial script that attempts to work around monos incapabilities. It is a bash script that works on most if not all linux boxes. Despite what the name may suggest, fcraftd was not written to make fCraft into a system daemon, though possible, might not be a good idea.

Features

  • fCraft continues running even after logout
  • Ability to connect back to console at any time, even with multiple administrators at once
  • Reliable restarting under mono
  • Supports external HeartbeatSaver
  • No further knowledge of linux neccesary
  • An optional simple configuration file
  • Ability to stop or restart without console interaction
  • Ability to update/install fCraft

Source Downloads

fcraftd is free and open-source, but may not be mass distributed by any entities other than the solidus server and fcraft.net. For example: Sharing is O.K., mirroring is not. You're free to edit fcraftd, but as before: These may not be mass distributed by say, putting up a link of the modified version on your own site. Exemptions to this are assigned at will only by the solidus server.

Usage

Installation

You can install fcraftd at system level, making it available to all users from everywhere. Or can be installed locally to anywhere the user wants it to be. Putting it next to fCraft.dll will require the least from the user.
Edits to the script itself are rarely necessary with support for both system- as user-level configuration. Being FHS-aware, it'll load an overriding system fcraftd.conf from the etc/ directory corresponding to the bin/ it is in, after having loaded the user's similarly named configuration from the current directory or from ~/.config/.

Options

Note that all of these have configurable options, see the section on Configuration.
fcraftd start
Starts fCraft if not yet running, otherwise drops to the console option.
by default fCraft can be installed anywhere in $PATH or in the user's current directory.
fcraftd stop
Shuts fCraft down by means of the /Shutdown command, then waits for it to die.
Will only stop fCraft sessions started by fcraftd.
fcraftd console
Connects to fCraft's console if started.
Return to shell by pressing Ctrl+a first, then press 'd'.
fcraftd restart
Shuts down the server completely before starting it afresh.
Does currently not use fCraft's /Restart, but rather a full flush to clear any memory-leaks.
fcraftd status
Prints whether or not the server is currently running.
fcraftd beat
Starts fCrafts external HeartbeatSaver, like fCraft, only one can be ran per user.
fcraftd flatline
Stops the users HeartbeatSaver.
fcraftd install
Installs the latest version of fCraft (Not the fcraftd script), can be used for both fresh installs as for updating an outdated fCraft version, uses the UpdateInstaller. The updater will install fCraft to the locations specified in the config.
The updater binary will be removed after a successful update.

Configuration

just reassign the vars

Known bugs

  • fCraft's autoupdater doesn't work or crashes fCraft, only manual updating works.
    • The updater doesn't save to the binaries folder, so the arguments passed are incorrect, causing it to fail.
  • Although mostly FHS aware, will not load system-config from /etc/opt/*
  • fcraftd was written for (but does not depend on) an initscripts/SysV linux installation, which has become deprecated
  • fcraftd depends on the screen program, which is likely to be replaced by tmux in the future
  • fcraftd probably does not conform strict posix