I've chosen to transfer ownership of my fork of the original Fougerite Github repository to the Pluton-Team Github organization. The original repository will not receive any more pushes from me. I don't know the whereabouts or intentions of the owner of the Github org for Fougerite, so I don't think it's in the best interest of the project or community to continue using it as the main or "official" repository. If the owner of the org appear again and delegates some ownership to the active project participants, or becomes active again himself, that can change. The fork relationship still exists, so a pull request can bring the original repository up to date with a few clicks.
The active repository is now at http://github.com/Notulp/Fougerite
The branch I am pushing to is master-mcmc and FougeriteBot announces commits to the #pluton channel on freenode IRC.
As some of you might noticed the big banner on the right side, It's because our team got a new Sponsor. Streamlines owner, Nathan was very generous, and let us to have test servers on experimental. Our team will have access to these servers, while even you guys are able to join and review the mod, or check Streamline's quality, which is awesome in my opinion.
I would like to thank one more time for Streamline's work, and the attention they put on us, and will be putting us.
Please be sure to leave opinion about the server below. It's located in Germany.
Here is a tutorial on, for me, the best part of Fougerite, the C# plugins !
We are going to learn how to setup the dev environment
I - Requirement
- The server files or at least the dlls
- xamarin studio, get it from here : http://monodevelop.com/download so you don't have to install all of the xamarin products
- Very little C# knowledge (you can learn on the go )
II - Environment setup
Here we are going to setup the environment to be able to simply make plugins and we are going to create our very first one !
First of all, we are going to create folders :
- In your preferred place for programming stuff create a folder called "FougeritePlugins"
- In the newly created folder create a folder References
Now copy the dll of the patched rust server in your References files (you can find them in your server file\rust_server_Data\Managed)
Now you should have a FougeritePlugins folder with a References folder in it containing a lot of dlls, such as "Fougerite.dll" or...
|| How to Download and run your server.
Now u can download rust experimental server, just follow theese steps:
The next release of Fougerite will contain Jint 2.2, a significant upgrade from Jint 0.9. I have merged the Jint2 branch I had been working on. It's ready for everyone else to start testing.
Most plugins will work without any changes under the new Jint.
Plugins that use classes in namespace outside of System will have to use a new global method.
var Rust = importNamespace("Rust");
var UnityEngine = importNamespace("UnityEngine");
var distance = UnityEngine.Vector3.Distance(vec1, vec2);
Passing returns from C# to out variables doesn't work in Jint 2. The only Fougerite method affected is Util.TryFindType. I added a new method Util.TryFindReturnType which returns the Type directly, instead of passing to an out variable.
For GSPs: Unfortunately, there is no proper sandboxing yet, which means that C# code can access and do pretty much anything. Even though this might seem to be a problem, but Oxide and Magma never actually restricted plugins from using file I/O or networking, they simply made it a bit harder. This means that either you already implemented all the required security measures, or your servers were never actually secure.