Fougerite went through a huge structural change.
View the commit here, and READ the changelog carefully!
A lot of things aren't the same as they were before.
- This build is still in "testing", but was majorly tested by Salva.
- Player.IsAlive doesn't throw error when the player is dead, thanks Salva for the notification.
- The Fougerite Thread Saving system has been enchanced, and now you cannot place objects while the server is saving, so the save files cannot be corrupted anymore.
- The Fougerite plugin system has been changed. Take a look at the new Fougerite.cfg, and apply all the changes!Code (INI):[Fougerite]
; uncomment to disable Fougerite, to disable version announce at login,
; or to enable structure and deployed item decay
; Remove players from cache after they disconnect.
; If a player sends an invalid packet (Possibly hacker) ban him.
; Enable Default Rust Decay? (May cause problems or laggs after a huge map.)
; Autoban people for Crafting Hack? (If this is disabled, the crafting will be only cancelled/logged.)
; How many connections can be made from the same IP / 3 seconds?
; How many minutes shall pass until the server saves everything?
; How many copies should the server make of the save files, before deleting them? Do not set this below 5.
; Stop Server on Saving failure?
; Ensure that manual save won't be executed, if the server is going to autosave? How many minutes should be the critical point
; where the manual save won't run if less than X minutes is left before autosave? This should be LESS than 'SaveTime'. 0 to disable.
; Text to display to the player when the server is saving, and the building parts cannot be placed due the subthread.
SaveNotification=The server is currently saving! You have to wait before placing an object.
; Enable the default ChatSystem output for the Player.Message methods?
; Send additional RPCPackets of the chat for the clients? (This is recommended for RustBuster Servers only WHEN you use a custom plugin.)
; Specify the client side's RPC method.
;module = folder
; if a module needs no folder, just use any word, or no word
; you can change folder names to suit your needs
; only modules listed in [Modules] are loaded
; comment out a module to disable it
; Запись должна быть следующего вида: имя_модуля=папка_для_конфигов
; Загружаются только модули, перечисленные в разделе [Modules]
; Закомментируйте строку с плагином чтобы отключить его
; Fougerite logs are in PublicFolder\Logs
; Putting these false will still do the logging, but
; the console won't display them
- IgnoredPlugins.txt has been created to avoid loading any plugins you do not want to be autoloaded, or anything.
- Fougerite dropped all the engines as plugins. They are now built in. This means you have to delete all the folders from the Module folders (Only ironpython, jint, magma, moonsharp). See the release zip file for reference.
- You no longer have to specify the C# plugins in the Fougerite.cfg. Just drag and drop them in Modules\PluginName and they will have a folder automatically created in the Save/PluginName folder.
- If you specify the C# plugins in the Fougerite.cfg, you can specify a different folder where the "plugin folder" will be. See Fougerite.cfg where the RustPP has different folder specified.
- You can enable / disable the engines in the Fougerite.cfg
- When hooks are invoked, or the Invoke method is called for the plugins those calls are now being monitored, and Fougerite will do a warning when a method takes long to load.
- You no longer have to subscribe to hooks using Hooks.XYZ += Method;. You can simply use the script plugin method structure names to use auto subscription. public void On_Command(...) You can also use the old way, but this way Fougerite will automatically tell you if a method is slow.
- Rust++ dll updated.
- I might have left out something but the crash stuff could be fixed, or could not be, It's still being analysed.
- IgnoredPlugins.txt:Code (INI):; Type the name of the plugins that Fougerite should ignore from loading. (Without extension.)
- We have added new options for catching Player.SendMessage and Player.SendMessageFrom methods. This way you can fully hook the chat system of Rust, and create your own custom chat plugin. (Based on Bogdan's and Salva's idea.)Code (INI):; Enable the default ChatSystem output for the Player.Message methods?
; Send additional RPCPackets of the chat for the clients? (This is recommended for RustBuster Servers only.)
; Specify the client side's RPC method.
- RustChat=true is to display the SendMessage calls to players in the original way. You can enable the RPCChat option to send additional RPCParameters to the client side and specify the custom function's name which the server will be calling.