In this tutorial, we will see how to create and configure a Onset server to play with friends or create our community.
Onset is a fully customizable sandbox. The game was designed from the ground up for modding; you can use scripts (packages) from the community or create your sown content. A significant advantage of Onset is its simplicity. LUA language is used for scripting and HTML
/CSS
/JS
for graphical interfaces.
You understand, to customize your server, it will be necessary to delve into the concept of packages (you can see this as an addon). Be aware that there is also a notion of plugin whose role differs from the "traditional plugin" that you may have met on Minecraft, for example. In Onset, plugins (developed in C ++) only allow adding functions, which will be used later in your LUA scripts.
To create your server, visit the page of our Onset Server Hosting services.
A bit of theory
Before going further in the creation of its Onset server, it is essential to understand the concept of package and plugin.
Plugins
Plugins are libraries developed in C++. They make it possible to extend the operation of the LUA scripts of our packages, by adding functions that will be accessible in your packages, in your LUA scripts.
An example of a plugin is the MongoDB plugin included when we install our server. It adds functions to communicate with the MongoDB database in our LUA scripts.
Plugins are in .dll
format on Windows, and .so
for Linux.
To create your own plugin, check out our dedicated tutorial.
Packages
Packages allow you to add features to your server. For example, if you want to add a new game mode, you will need to add the package of it to your server.
They mainly contain LUA code that can be executed on the client-side or server-side and assets (HTML / JS / CSS) for the creation of in-game interfaces.
To create your first package, see our tutorial!
How to configure Onset server
General Configuration
We will be able to go to the general configuration of the server.
It contains settings such as server name, login password, number of players, and so on.
To edit the configuration, you can use your management panel or edit the server_config.json
file at the root of your server.
Note that this file contains the list of packages and plugins that will be loaded when the server starts.
If you need help with the file settings, check out the tutorial: How to configure an Onset server.
The contents of the file must be in JSON format.
Weapons configuration
The weapons.json
file does the setting of the weapons that will be accessible on your server. located at the root of the server.
This file contains the list of the server's weapons and their characteristics.
You can easily modify the recoil of a weapon for example;)
Packages configuration
Each package must have its own folder in the server's packages directory. Its name will be defined by the name of the folder that contains it.
To activate a package, add it in the packages
section of the server_config.json
file and restart your Onset server.
Whenever you add a package to your server, the package may require configuration. There is no real standard, as their creator is free to implement what he wants. Always check the official documentation of the package you are installing;)
Plugins Configuration
The plugins are located in the plugins
directory of your server.
To activate a plugin, add it in the plugins
section of the server_config.json
file and restart the server.
Onset Packages
There is currently no site that lists the community packages. In the meantime, we will update the list below, do not hesitate to send us your creations!
whitelist
Simple whitelist to filter players (by SteamID) which can join your server.
https://github.com/sdieunidou/whitelisti18n
Library to quickly translate a package.
https://github.com/sdieunidou/onset-i18ngodfather
Godfather game mode.
https://mtxserv.com/onset-server/doc/onset-create-a-godfather-server
Server Limits
Players | 300 |
Vehicles | 4096 |
Objects | 100,000 |
NPCs | 4096 |
Pickups | 4096 |
Text3D | 4096 |
Doors | 4096 |
Timers | 2,147,483,647 |
Dimensions | 4,294,967,295 |
Client Limits
Sounds | 8 |
Web UIs | 32 |
Timers | 256 |
Collision Triggers | 128 |
GUI Texts | 128 |