Well, nwncx_patch took code from nwncx_connect and that caused conflicts between plugins even though there was a way to make them work together. How is it different from forking? Now users with nwncx_patch will have problems when we update NWNCX and add new features to it. Just as people who relied on NWN-FF had problems a few years ago because it was never released in source form and could not be maintained.
First of all. I did not want to "steal" that code or rather functionality from that plugin, but I had no other choice. I could not rely on different plugin that was not included in nwncx core package. Second, No, when I realised I have to do this to enable another functionalities I needed I made it in a way it will not cause conflicts together. At least if we are talking about nwncx_patch and nwncx_connect.
nwnx_patch is sending value 200 where nwnx_connect is sending 100. This means player can have both nwncx_connect and nwncx_patch and it will work flawlessly. Servers using nwnx_connect will be handled by nwncx_connect, servers using nwnx_patch will be handled by nwncx_patch.
What makes conflicts is nwnx_connect + nwnx_patch. If nwnx_connect is present on nwserver installation, it will prevent nwnx_patch to hook same function and therefore nwnx_patch hak-sending and other related functionalities will not work. Builder will therefore lose functionalities of nwnx_patch and that can be solved by removing nwnx_connect.
What kind of security risks are you referring to? How are there more possible exploits with nwncx_patch than NWNCX or NWN itself? Does that mean nwncx_patch can be exploited?
Yes it can be exploited. New features such as enabling custom content base class alows player to select prestige class as 1st class with 2da edit. I am aware of this but I don't care. Same exploit can be achieved by other known method anyway.
But this is not what I meant.
I was able to abuse one of my hooks to create brand new exploit. You know, server does not have sanity checks for things client doesn't allow, so if you enable it you can use it in multiplayer. All player would need to create this exploit was to understand my code and modify it.
So, are you willing to share the full sources for nwncx_patch with anyone?
No, I will share my source only with peoples who want to help with my plugin and only with condition they will keep it for themselves.
I don't agree in way how is nwncx designed and while I use its plugin structure I use it only because I don't want to create fork and split community between 2 launchers.
I shared client symbols with trusted ppls and I belive that they are now accessable to every serious nwnx developer. And my plugin can be used by anyone. I think my approach is still better than all these server-specific plugins which have their source public but its useless to regular builder with no c++/nwnx programming skills.