What is it?
Xenos is in short a DLL Interface, Similar to Ascent based cores scripting solutions. For TC users this would be similar to ScriptDev2 or TrinityScript, but only in the fact that they both attempt to offer a solution which allows you to execute scripts without having to specifically add them to the core, this allows users to keep their custom work or additional enhancements to their servers separate from the Cores source code.
Until now that has been the only benefit DLL Interfaces built into WoW Emulators have offered, the ability to keep your code separate from the core. While that's great, and helps server admins who built a ton of custom enhancements into their servers greatly we can do more.
Xenos offers the ability to unload it's DLL's during runtime, what that means is that you could create a ton of scripts in your DLL solution, Release them to your live realm, than lets say you find a bug in your new features, what would you do? With todays current solutions you find the bug, fix it, recompile your code, shut down your server, and replace the executables than load the server back up. That's a very annoying process, especially if your bug is something so small as a typo.
With Xenos you would simply unload the DLLs, recompile your DLLs source code, replace the .DLL you've just altered and reload the DLL Interface, than continue on your life as normal, no messy restart or kicking your players off the server.
It should also be noted that Xenos does not protect your code from crashing the server.
It is my hope that Xenos can completely replace the cores current scripting solution, which is entirely core based as recently the DLL portion was removed.
Core Source Impact
Xenos is a fairly lightweight install, I released a windows video tutorial and it rounded off to something like 2 minutes x seconds. Xenos comes with a CorePatch that you must execute in order to use it, the core patch does little more than simply export a variety of classes to DLL so they can be used by your DLL. You must also add two files to your cores project solution, that being our DLLInterface which manages the interaction between the core, and the scripts in the DLL's.
Xenos Current Condition
I would be lieing if I said that Xenos is 100% working, there are two versions of this project that exist, one which is 100% on my server, and the public version.
Whats the difference?
The version of my server was developed to fit my servers needs and player expectations the public version and the private version share the same code, the only real difference between mine and the public one is that I have a few more hooks. However I bring it up because, in order to reach a public release I had to do a completely fresh checkout of TrinityCore and re-expose all the hooks and so on, so I cannot vouch for everything being 100% on the public side, the portions I have tested have been 100% functional. Any problems that are reported will be fixed promptly.
It should be noted that xenos is at current
Windows Only
This will be changed in the future, currently I do not have access to a nix environment to test compilation or code execution. I can tell you flat out that windows specific code is used, when I'm ready to setup a VM and mess with all that, I will get it working for nix users.
Release Information
Googlecode Project
To avoid confusion I am the same person who released this project over at TrinityCore forums:
http://www.trinitycore.org/forum/xen...ace-t8949.html
Svn:
Code:
http://tc-xenos.googlecode.com/svn/trunk/
Cloned Repository
This is a repository which is kept up to date with TC and contains the Xenos core patches already applied.
Changes - spectre-xenos - Project Hosting on Google Code
Documentation
Windows Install Guide
Script Examples