Fougerite Official

Fougerite Official 1.7.6B

No permission to download
  • No changes, the release file accidentaly contained the IronPython.Deps.dll file. Delete it from your server (Managed folder)
  • Code fixes.
  • Malicious Crash fixes hopefully.
  • Only Fougerite.dll was updated.
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.
https://github.com/Notulp/Fougerite/commit/7190818b0d94e9faaf90ca337dfd6773613b0d77


  • 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!
INI:
[Fougerite]
; uncomment to disable Fougerite, to disable version announce at login,
; or to enable structure and deployed item decay
;enabled=false
;tellversion=false
;deployabledecay=true
;structuredecay=true
;
; Remove players from cache after they disconnect.
RemovePlayersFromCache=false
; If a player sends an invalid packet (Possibly hacker) ban him.
BanOnInvalidPacket=true
; Enable Default Rust Decay? (May cause problems or laggs after a huge map.)
EnableDefaultRustDecay=true
; Autoban people for Crafting Hack? (If this is disabled, the crafting will be only cancelled/logged.)
AutoBanCraft=true
; How many connections can be made from the same IP / 3 seconds?
FloodConnections=2
; How many minutes shall pass until the server saves everything?
SaveTime=10
; How many copies should the server make of the save files, before deleting them? Do not set this below 5.
SaveCopies=5
; Stop Server on Saving failure?
StopServerOnSaveFail=false
; 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.
CrucialSavePoint=0
; 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?
RustChat=true
; Send additional RPCPackets of the chat for the clients? (This is recommended for RustBuster Servers only WHEN you use a custom plugin.)
RPCChat=false
; Specify the client side's RPC method.
ClientFunction=FougeriteChatSystem

[Modules]
;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]
; Закомментируйте строку с плагином чтобы отключить его
RustPP=Rust++
GlitchFix=GlitchFix

[Engines]
EnableCSharp=true
EnablePython=true
EnableJavaScript=false
EnableLua=false

[Logging]
; Fougerite logs are in PublicFolder\Logs
; Putting these false will still do the logging, but
; the console won't display them
debug=false
error=true
exception=true
speed=false
rpctracer=false
  • 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:
INI:
; Type the name of the plugins that Fougerite should ignore from loading. (Without extension.)
; Example:
DontloadmynotexistingPythonPluginname
Thisismyserversidepluginname
  • 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.)
INI:
; Enable the default ChatSystem output for the Player.Message methods?
RustChat=true
; Send additional RPCPackets of the chat for the clients? (This is recommended for RustBuster Servers only.)
RPCChat=false
; Specify the client side's RPC method.
ClientFunction=FougeriteChatSystem
  • 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.
  • Whoops, wrong prepatched files were uploaded.
  • Fougerite Saving has been tested for a couple of days, this build seems to be fine, and running without issues. Please try It.
  • PATCHER WAS MODIFIED RE-PATCH OR USE PREPATCHED DLLS.
  • Fougerite.dll updated.
  • IronPythonModule updated. Please delete IronPython.Deps from the Managed Folder. Add every new IronPython and Microsoft dlls to the Managed folder, since I updated the engine from 2014 to the latest available .NET 3.5 support. (late 2016)
  • Web.CreateAsyncHTTPRequest has been added for plugins to use. These webrequests shouldn't be causing laggs while they are being used, and get/post requests are also supported. You will have to specify a method with a string parameter which is the callback function expecting the result.
  • The 1.6.9 will be dropping the usage of external script language support, and will have a built in one with auto reload support, and auto load support. The directory structure will be changing, there will be a long note of It.
  • https://github.com/Notulp/Fougerite/commit/7318a779806394aeaf49c4f0c7b2fb4248d7d17a
  • Like
Reactions: Pompeyo
  • Like
Reactions: Pompeyo
  • HA I LIED. Fougerite.dll was updated. There was a small problem that the manual saving caused multiple timers reported by salva. All seems to be fine now REALLY. LOL.
  • MODIFIED THE PATCHER RE-PATCH OR USE THE PREPATCHED FILES.
  • Fougerite.dll was updated.
  • Fixing the last background save issue.
    The original saving didn't cause this issue, since the server was "held up" by the lagg, and placing an object didn't hurt the list while iterating It. It is now safe to say that the saving system is completely threaded without issues, and the save system will cause no lagg even on a 71000 object counted map. Legacy's saving system works as It is intended to be now ;)
  • https://github.com/Notulp/Fougerite/commit/025f5766b0c7421dfe70e93c672d54c3ebd44a7f
  • REPATCH OR USE PREPATCHED DLLS.
  • Fougerite.dll was updated.
  • The problem when using command "quit" (Server saving then becoming unresponsive, then hardly closing) was solved. You may use both CTRL + C or the command quit to stop the server. Both of them were tested using a map that has 71000 objects. The server should save, manually trigger the shutdown, and simply close on both. The quit command also Kills the process at the very end instead of triggering Application.Quit. CTRL+C does the exact same, but leaves your console open at the end. They both do the same, basically triggering LibRust.Shutdown();. All should be fine with the saving system from now on.
  • https://github.com/Notulp/Fougerite/pull/104/commits/0ebfce9f4be8c35708f62871c7e1338912f8dbb9