Join the Eco Modding Community on discord! : Discord.gg
The Elixr Mods Framework is designed to make modding easier for eco, mods more compatible, and extend what you can do in your server,
It is also houses some nice abilities for server owners to be able to give their admins the ability to admin but not "cheat", the term cheat is very subjective,
Examples: Instead of your admins being able to spawn items when they feel like, or do things they shouldn't you can give them access to only a few specific commands with the EM Groups system in the EM Framework,
EM Framework offers a lot for eco modders! there is a whole bunch of pre-set functions and methods for you to be able too easily use in your mods!
EM Framework would like to be able to improve mod compatibilities while extending on what you can do in eco, Simplifying processes and more!
We have everything fully documented for modders to be able to use all parts of the EM Framework, We are Activly Working on the EM Framework to improve its Stability, Quality and Reliability as well as always adding in new features!
We Also do what we can to make sure it is as backwards compatible as possible! so if we update the framework and add new features in we do our best to make sure we can keep the older stuff in while you update to the newer stuff, or should you prefer the legacy stuff allow you to be able to use that as well!
For all documentation on the Elixr Mods Framework please visit this link: Elixrmods.com It should have all the information you need for using the EM Framework in your mods
As an Added Plus! EM Framework is on Nuget! Have a look here: Nuget.org
While our Permissions system is still under development this is some basic documentation on what we have so far and will be updated as we add more features to it:
Using the EM Permissions system is easy,
What the EM permissions system brings to you is the ability to be able to create new user groups and give them access to commands so long as they are in that group,
Joe donated to your server, You can create the group called "VIP" and add joe to that group,
You can then assign commands to that group for joe to use:
Say you have teleport commands on the server, you can add the teleport command to the group VIP then Joe can use the teleport command,
Usage for server admins:
By default there are 2 user groups, Admin and Default, These 2 groups can not be deleted
If the user is already an admin they don't need to be added to the admin group, but if the user isn't an admin you can ad them to the admin group and assign your admins certain commands, IE: kick, mod based commands or what ever you feel like
Here is a list of all the commands that a admin/ owner in the server can use:
Commands for giving groups permissions to commands
"/CommandPermissions grant command, groupname " // Used to give groups permission to use a command: Eg:
"/CommandPermissions grant fly, VIP" //this gives the group VIP access to use the /fly command
You can now assign shortcuts to a command, ie: ElixrMods Auto door has a shotcut command: /ad-on
doing: "/CommandPermissions grant ad-on, VIP" will now work
"/CommandPermissions revoke command, groupname" // Used to revoke a groups permission to a command: Eg:
"/CommandPermissions revoke fly, VIP" // Will take away the ability for the VIP group to use the /fly command
You can now use shortcodes when revoking a command ie: doing: "/CommandPermissions revoke ad-on, VIP" will now work
"/CommandPermissions setbehaviour admin/user, true/false" //this is used to allow Admins or users default access to their default commands:
"/CommandPermissions setbehaviour admin, false" // will mean any user that was made an admin will not have access to admin commands anymore and you will need to assign then use of admin commands via a group ie: Group Admin.
"/CommandPermissions setbehaviour user, false" // will mean any user that is not in a group or an admin will not be able to use any command without being in a group
"/grant-command command, groupname"
"/revoke-command command, groupname"
"/behaviour-command admin/user, true/false"
The "command" In the commands is any command in the eco game, regardless if its registered by a mod or a core command!
Creating Groups and adding users to groups commands
"/groups addgroup groupname" // Used to create a new group
"/groups deletegroup groupname" // used to delete a created group
"/groups listgroups" // will list all groups you have on the server
"/groups grouppermissions groupname" // Will list all the permissions the named group has "/groups addusertogroup username, groupname" // will add a user to a selected group or will creat the group then add the user too it
"/groups removeuserfromgroup username, groupname" // will remove a user from that group, if the group doesn't exist it will tell you
"/groups forcesave" //forces the groups system to save everything just incase a save fails
All commands that use a username are case sensitive so make sure your naming is correct otherwise it will say that user doesn't exist
"/grp-adduser username, groupname"
"/grp-remuser username, groupname"
Config File Structure - If you are not comfortable editing this file then please just use the in game commands - Located in Configs/Mods
"GroupName": "groupname", // The Name of each group
"Name": "Username", // The username of the person added to the group
"SlgID": "slgid", // their slgid if present
"SteamID": "steamid" // their steamid if present
], // Each user in this group
"Permissions": [ //each command this group has access too
"$type": "Eco.EM.Permissions.ChatCommandAdapter, em-framework", //do not edit this
"Identifier": "Command" //Command name
"$type": "Eco.EM.TP.TeleportConfig, em-tp-9", //This is a custom configuration for another mod using the groups system Do not edit this
"MaxTeleports": 30, // config setting
"CalorieCost": 250, //config setting
"CooldownSeconds": 15, // config setting
"Expiry": 15 //config setting
"AllUsers": [ // Each user that logs into the server
"Name": "UserName", // Their username
"SlgID": "slgid", //Their SLG Id - Can be blank if slg id not present
"SteamID": "steam64id" //Their Steam ID - Can be blank if steamid not present