FOSSBilling Module Documentation

For module version 0.1.0 BETA


  • Extract the archive you have received into the "modules" folder within your FOSSBilling installation directory (The PHP files have to be in "modules/Servicemulticraft")
  • In your Multicraft panel, enable the Multicraft API under "Settings"->"Panel Configuration"
  • In your Multicraft panel, create an API key for a user with superuser privileges by going to the user profile and clicking on "Generate API key" in the menu to the left

Configure the Module

First, make sure that the module is active in FOSSBilling: Go to "Extensions"->"Overview" and check the "Multicraft" entry.
Either click on the edit button under "Extensions"->"Overview" or the Multicraft icon under "System"->"Settings" for Multicraft to get to the module configuration page.
You can configure the following fields:
  • Panel URL
    Your control panel URL (http://your.address/multicraft)
  • Username
    The name of the user for which you have generated the API key
  • API key
    The API key you have generated for that user (a string of the format: e5a0214fc52c94448d6a)
  • List of dedicated IPs
    A list of available dedicated IPs in the format DaemonID,IP (e.g.: 3,
  • Maximum Servers per Daemon
    The maximum number of servers that can be created per daemon
  • Shuffle Daemons
    Check daemons in random order when setting up a server. Can be used to distribute servers evenly instead of filling daemons up sequentially
  • Use Best Daemon
    When enabled the module will check all daemons and use the one with the most RAM available instead of using the first daemon with enough RAM
  • Calculate used Memory
    Whether to include suspended servers when determining if a daemon has enough RAM available for the new server
  • Verbose Log
    Output each log line separately in addition to the summarized log entry on completion. Useful if the process doesn't complete
  • Log API Calls
    Log each call to the Multicraft API with parameters and return values
  • Disable Logging
    Disables logging entirely

Create Products

Create a product either under "Products"->"Products & Services"->"New Product" or in the module configuration using the button "Create Multicraft product". Use the type "Multicraft". The module related settings can be found under "Configuration", everything else is the same as for a standard FOSSBilling product. Please contact FOSSBilling support if you have any question regarding FOSSBilling base functionality.

Product Configuration

  • Player Slots
    Player slot count for the created server
  • Memory
    Server RAM in MB for the created server
  • Dedicated IP
    • Use shared IP
      Don't assign a dedicated IP
    • Dedicated IP if available
      Try to assign a dedicated IP from the "List of dedicated IPs" on the Multicraft module settings page
    • Require dedicated IP
      Assign a dedicated IP, fail if no IP is available
  • Server Name
    The server name as described in the hint field
  • Allowed Daemons
    Restrict available daemons to the daemon IDs listed in this field (comma separated). All daemons are allowed if this field is empty.
  • Create FTP Account
    Whether or not to create a FTP account for the user
  • Delete files on Terminate
    If set to "yes" the server base directory containing all the data related to this server will be deleted when the product is canceled
  • Delete user on Terminate
    If set to "yes" the control panel user owning this server will be deleted when the product is canceled. If there are still servers assigned to this user account it will not be deleted
  • All other settings are the same as in the Multicraft server settings


Selecting the Daemon by Available Memory

The module will go through all daemons and select the first one that has enough free RAM (unless "Use Best Daemon" is enabled, in which case it will select the one with the most free RAM). The daemon also needs to have less servers on it than what you set as "Maximum Servers per Daemon" in the module settings.
If no such daemon is found the provisioning will fail.

In order for the module to be able to determine the maximum amount of memory available on a daemon you need to have the "totalMemory" setting configured correctly in your multicraft.conf. It must be set to the total amount of memory in MB that you wish to be assigned to Minecraft servers. Note that any changes on your multicraft.conf require either a daemon restart or a reload of the config file under Settings->Operations.

Dedicated IPs

Dedicated IPs are listed in the module configuration under "Configuration"->"Settings"->"Multicraft" in the field "List of dedicated IPs". This list uses the following format:
An example of such a list with dedicated IPs for the daemons 1 and 3 would be:

The dedicated IP is removed from the "List of dedicated IPs" when it is assigned to a server and it will be written back when the server is terminated through FOSSBilling.
The provisioning process will fail if "Dedicated IP" is set to "Require dedicated IP" and there is no dedicated IP available on any daemon with enough resources. It will continue normally if the setting is set to "Dedicated IP if available".

Setup on Specific Daemons

You can restrict the daemon a product will be provisioned on by specifying a list of allowed daemon IDs in "Allowed Daemons" in the product configuration.
If this contains daemon IDs, the module will only consider daemons that match this list. If the list is empty, all daemons will be considered for the new server.
An example value for "Allowed Daemons" is:
This will cause the new server to be set up on one of the daemons 1, 3 or 5.

Welcome Mail

The module uses the welcome mail functionality of the Multicraft panel so please make sure you have enable welcome and assign emails under "Settings"->"Panel Configuration" in Multicraft and that these mails are sent correctly.


The module will log each action under "Activity"->"Event history". If no log entry appears you can try enabling "Verbose Log" in the module settings.
To log API calls as well you can enable "Log API Calls" in the module settings.

Order Management

In the "Order Management" of an active order you can use the controls at the bottom to create/suspend/unsuspend/terminate/etc. the Minecraft server. Please note that "Cancel" and "Delete" will both delete the server from the panel so the world data will be deleted as well if you have that option enabled in the product configuration. You can configure module related special fields under the "Service management" tab of an order:
  • Multicraft Server ID
    This is used to store the server ID so the module knows which server this order is connected to when running order actions. You should never have to change this but it can be used to link existing servers to an order
  • Server Address
    This is the IP address and port of the Minecraft server. Changing this will not affect the server running in Multicraft and vice versa