RustEssentials now has its own website! Head on down to http://rustessentials.com/ for the main portal or http://forum.rustessentials.com/ for the forums.
Also come check out the new wiki, redone by NexusOne, at http://wiki.rustessentials.com/index.php/Main_Page
RustEssentialsAPI is a flexible and elegant Rust .NET script compiler. Create plugins in C#, VB.NET, or JScript.NET to implement into rust using the various hooks and functions of the API.
Paypal For Donations:
- mistad@rustessentials.com
Features:
- Various Hooks
- Simple Class Layout
- Simplistic Data/JSON System
- Easy on the Eye Config System
- Multiple Programming Language Support
- and much, much more!
Download: Upon updates, back up and delete the /RustEssentialsAPI/Config/RustEssentialsAPI/ folder in order to get the latest config files. Then you can later adapt them back to your previous settings.
- To download the latest version, visit the 'RustEssentialsAPI Releases' section on the RustEssentials Forums.
References: These are the files that you, as the programmer, would use as references when using CS-Script or Visual Studio.
- 1.0.1 References
Installation:
1. Download RustEssentialsAPI from the link above.
2. Extract RustEssentialsAPI.zip into the same directory as rust_server.exe (If it asks to overwrite, make sure to click yes).
3. Launch the server! *
* With the first launch of the server, all needed folders are created in the RustEssentialsAPI folder.
Notes:
Plugins in RustEssentialsAPI cannot be reloaded real-time due to the structure of .NET Assemblies and Application Domains.
Upload plugins to your /RustEssentialsAPI/Plugins/ folder.
This version requires RustEssentials v1.8.3 or higher!
Source:
- RustEssentialsAPI GitHub
Wiki:
- RustEssentialsAPI Wiki
Changelog:
1.0.2:
- Added methods for checking if an Entity instance is an AI, a player, a structure, or a deployable object. Not sure if Entity is fully implemented anyways though.
- Execute.Every(float, Method, params object[]) and Execute.Every(float, int, Method, params object[]) are now Execute.Every(float, Method, object[]) and Execute.Every(float, int, Method, object[]), respectively. You must explicitly pass your variables as a new object[] { "1", "2" };
- Made some things internal instead of public.
- API/Variables.cs -> Variables/Variables.cs.
- Data.Exists(string) and JSON.Exists(string) now check if the file exists within that plugin's domain instead of every plugin's domain.
- Added the property Animals.AllCorpses.
- Time.currentTime -> Time.CurrentTime.
- Added very limited faction object information.
- You can now view the faction name, owner, ownerId, and allies of a faction.
- You can now view the faction of an APIPlayer.
- APIPlayerInventory.hasGun(string, int, int) now checks for the amount of the specified gun properly.
- Property uid is now userID (in APIPlayer).
- Added a property to APIPlayer 'ulongUID'. This is the ulong version of userID.
- You can grab all available commands with Players.AllCommands.
- Players.Inventories is now of type List<APIPlayerInventory> instead of APIPlayerInventory[].
- Plugins can now get their own plugin instance in the API using Plugin.This.
- Since RustEssentialsAPI is an extension of the base mod RustEssentials, there is no reason to use SetModded() here since we are already doing it in the base mod.
- Added the launch parameter '-apidir'. This works the same way '-essentialsdir' does.
- Changed Plugin.This to a static property.
- Removed some unneeded .dlls.
- Fixed Data files not being created properly.
1.0.1:
- Some methods were still public when they should have been internal or private. Fixed.
- Fixed a bug with Ambiguous Method errors (usually happened with VB.NET).
- Deleted an empty file.
- Illegal characters in plugin fancy names will now cause an error along with blocking the plugin from being loaded.
- Right now, if 2 or more plugins attempt to compile and they share file names (not including extensions), only 1 will compile while the other(s) will error out. However, the API doesn't recognize that the compiler gave an error for the plugins with duplicate file names. In turn, the API attempted to load all of the plugins, even the ones that failed. This caused it to load the one that succeeded multiple times. This has been fixed.
- Updated the error given when the "Start" method could not be found.
1.0.0:
- Initial Release