Fougerite Official

Fougerite Official 1.8.3C

No permission to download
  • Quick fix for the reload commands.
  • Fixed Rust++'s PM system (Never knew It was broken) It functions a lot more better, and I also put my own plugin's style in It, so It's actually efficient.
  • All modules updated
  • Jint and Magma received Plugin.GetPlugin(name)
  • Fougerite got some fixes and stuffs like that
  • Added new fougerite console commands, and they are now readable on the wiki
Added some new methods in Fougerite and made some classes in Rust++ public so you can access some of the Rust++ APIs by the help of Server.GetRustPPAPI()

C#:
        public void RemoveInstaKO(ulong userID)
        {
            InstaKOCommand command = (InstaKOCommand)ChatCommand.GetCommand("instako");
            if (command.userIDs.Contains(userID))
            {
                command.userIDs.Remove(userID);
            }
        }

        public void AddInstaKO(ulong userID)
        {
            InstaKOCommand command = (InstaKOCommand)ChatCommand.GetCommand("instako");
            if (!command.userIDs.Contains(userID))
            {
                command.userIDs.Add(userID);
            }
        }

        public bool HasInstaKO(ulong userID)
        {
            InstaKOCommand command = (InstaKOCommand)ChatCommand.GetCommand("instako");
            return command.userIDs.Contains(userID);
        }

        public void RemoveGod(ulong userID)
        {
            GodModeCommand command = (GodModeCommand)ChatCommand.GetCommand("god");
            if (command.userIDs.Contains(userID))
            {
                command.userIDs.Remove(userID);
            }
        }

        public void AddGod(ulong userID)
        {
            GodModeCommand command = (GodModeCommand)ChatCommand.GetCommand("god");
            if (!command.userIDs.Contains(userID))
            {
                command.userIDs.Add(userID);
            }
        }

        public bool HasGod(ulong userID)
        {
            GodModeCommand command = (GodModeCommand)ChatCommand.GetCommand("god");
            return command.userIDs.Contains(userID);
        }

        public FriendsCommand GetFriendsCommand
        {
            get
            {
                return (FriendsCommand) ChatCommand.GetCommand("friends");
            }
        }
Those methods actually useful if you want to make sure that somebody doesn't have some admin stuffs enabled for an event as an example.

Chat Messages won't be split if you use colors in the messages, and It wouldn't reach 100 char length in the string without them. Basically those problems should be eliminated

Rust++ used these older send message methods which could have caused ulink null messages, and If they did, It should never cause any problems from now on.

Every Hook now has a try catch, so if Fougerite fails to call one, It will let you know about It.

Updated Rust++
Updated IronPythonModule
  • Rust++ Saving bugs fixed
  • Fougerite Chat Fixer is now working great.
small fix on chat (Failed, update coming tomorrow)
  • Server.Broadcast Player.Message and the Chat is now checked by fougerite. There is a bug in legacy that if you type a msg longer than 65 chars, It won't display the end. This is now fixed by Fougerite.
  • There was a bug in Rust++ and Fougerite in the latest releases, It didn't save well. It's fixed. Update ALL modules.
  • Jint and Magma plugin was lacking On_AllPluginsLoaded event. It is now added.
Python:
def On_AllPluginsLoaded(self):
    Server.Broadcast("All Plugins loaded!")
JavaScript:
function On_AllPluginsLoaded() {
    Server.Broadcast("All Plugins loaded!");
}
Code:
function On_AllPluginsLoaded()
    Server:Broadcast("All Plugins loaded!")
end
  • Added a useful method
C#:
Util.SplitInParts(string s, int partLength); // Splits text at every Nth char.
  • Saving inifiles will go unthreaded if the file's size is less than 240kb. The reason I'm doing this since there were some problems that the default settings were not saved in the files due to the threading. Any ini file having bigger size than 240kb will be threaded (Mostly going to happen at the ban system's ini) so the large amount of data (lines) writing won't cause laggs to the main rust server thread. Don't blame me, this is because the rust server's systems are unoptizimed unlike the experimental.
  • Only Fougerite.dll was modified.
  • I eliminated an old Rust problem where for example the M4's Quantity number returned the Uses left of the item, (Which actually returned the ammo of the gun for example) from now on, every NOT STACKABLE item's Quantity will be 1. Item.UsesLeft will still return the original UsesLeft, just Item.Quantity will be realistic.
  • Util class's finding methods are switched to foreach
  • Entity Class supports SupplyCrates and LootableObjects now.
Added Server Saved Hooks:

Python:
def On_ServerSaved(self):
    Util.Log("Server Saved!")
JavaScript:
function On_ServerSaved() {
    Util.Log("Server Saved!");
}
Code:
function On_ServerSaved()
    Util:Log("Server Saved!")
end
  • Fixed an error happening in the unban function when the list of found players has 0 length
  • World.Spawn Supports SupplyCrates and LootableObjects
  • Python engine now shows if the plugin was unloaded.

  • Improved Player Finding method, It's a lot better.
  • Threaded ini writer, laggs should be gone, when having huge amount of data in the ini, and writing to it
  • Ini size check removed
  • All modules updated
  • Small fixes in GlitchFix
  • Added Entity.OwnerName