I have a server where I want to write a CS2D <-> Discord by using LuaSocket. Unfortunately CS2D has Lua 5.1.4 statically linked which renders external modules impossible, if not, can lead to crashes and other problems.
My solution is instead of linking to new Lua 5.1.4, I created a Lua 5.1.4 wrapper which calls CS2D's private Lua 5.1.4 functions by locating the private Lua address inside CS2D. This can provide compatible Lua modules because we only use single Lua 5.1.4 implementation (the one provided by CS2D). So instead of linking to normal Lua 5.1.4 library/DLL/.so, link with my CS2D Lua wrapper instead. Please note that this only benefits server scripters, not clients. This is not a form of cheats/hacks that can give a client unfair advantage.
Now, before I fully completed the Lua wrapper, I have few questions.
1. Is it legal to create something like this? Especially since CS2D has strict "no hacks/cheats" policy.
2. If this is legal, then am I allowed to distribute my CS2D Lua wrapper as open-source project?
3. If this is illegal, then why something like Null-packet Protection (15) can be approved? From what I see, that file tampers CS2D dedicated (in-memory) in some way by doing function redirection using assembly.
Note that I fully aware that any updates to CS2D (dedicated) breaks the address lists of the Lua functions.
Regards,
AuahDark.