Author Topic: Community Patch discussion and development thread  (Read 20307 times)

Legacy_tryguy

  • Newbie
  • *
  • Posts: 1
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #915 on: July 27, 2016, 03:02:00 pm »


               

Hey, Shadooow (and virusman, if you're reading this)


 


I think you're doing some pretty good work with the NWNX/NWNCX patches. I'm not in a position to start using the functionality it allows just yet, but I imagine I will in the future.


 


But, I had a question. So, I know these patches rely on having virusman's NWNX/NWNCX as well. So, I have nwnx-2.7-beta4-win32-full.rar  and nwncx-0.2.9.rar installed. They're about the latest distributions I could find. They're pretty old now, and there's hardly any documentation about them as to what all the plugins are for. But, I think I scraped together enough to answer some questions about them I had.


 


Currently, for nwncx-0.2.9.rar, I use nwncx_disablems.dll, nwncx_serverlist.dll. And I found your windows version of nwncx_connect.dll on neverwintervault, so I'm using that instead of the old one that came with the archive. I'm hoping it's more compatible with the unofficial fix that's for nwnx_connect.dll you did too, so that's why I went with that. But there's another file that I'm not sure about. And that's my question.


 


So, about nwncx_tweaks.dll, does it do anything the patch doesn't? Do I need both, or do I really only need the core and the patch? Or what? I guess there's no harm in having it there, but I was wondering about it.


 


Umm, and that's about it. I'm currently going through all the nwnx plugins to see what could be useful to a windows-user. It's good that you compiled those connect ones for windows users.


 


Anyway, back to searching through old docs and threads and things.



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #916 on: July 27, 2016, 03:18:22 pm »


               


Hey, Shadooow (and virusman, if you're reading this)


 


I think you're doing some pretty good work with the NWNX/NWNCX patches. I'm not in a position to start using the functionality it allows just yet, but I imagine I will in the future.


 


But, I had a question. So, I know these patches rely on having virusman's NWNX/NWNCX as well. So, I have nwnx-2.7-beta4-win32-full.rar  and nwncx-0.2.9.rar installed. They're about the latest distributions I could find. They're pretty old now, and there's hardly any documentation about them as to what all the plugins are for. But, I think I scraped together enough to answer some questions about them I had.


 


Currently, for nwncx-0.2.9.rar, I use nwncx_disablems.dll, nwncx_serverlist.dll. And I found your windows version of nwncx_connect.dll on neverwintervault, so I'm using that instead of the old one that came with the archive. I'm hoping it's more compatible with the unofficial fix that's for nwnx_connect.dll you did too, so that's why I went with that. But there's another file that I'm not sure about. And that's my question.


 


So, about nwncx_tweaks.dll, does it do anything the patch doesn't? Do I need both, or do I really only need the core and the patch? Or what? I guess there's no harm in having it there, but I was wondering about it.


 


Umm, and that's about it. I'm currently going through all the nwnx plugins to see what could be useful to a windows-user. It's good that you compiled those connect ones for windows users.


 


Anyway, back to searching through old docs and threads and things.




nwncx_disablems - fixes the hang out when trying to connect into multiplayer


nwncx_serverlist - populates server lists? idk doesn't work for me anyway


nwncx_tweaks - some additional custom content features that are utiized by some servers like Aenea (possibility to add new beam types etc.), I am not aware of any other server using it


nwncx_connect - solves hak preloading


 


note nwncx_patch has hak preloading ffeature built in too, however its made in way so having both nwncx plugins won't be problem so you don't have to worry


               
               

               
            

Legacy_virusman

  • Sr. Member
  • ****
  • Posts: 448
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #917 on: July 27, 2016, 03:28:54 pm »


               


yea tell that to Mavrixio...


 


I am not interested to see forks of my plugin. I already did the mistake of sending the source to one guy who claimed he will help me. Instead he used my source for his own purposes and never heard about him anymore.


 


Not to mention there are security risks - its possible to create expl0its by changing my code. You should be aware of this.



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.


I appreciate your work with the patch and tweaks you made, but NWNX is built on openness and collaboration: everyone can learn from the existing work, release their own, and propose and contribute changes back to the project for the community to benefit from it. I wouldn't even come to the NWNX project and learn C/C++, reverse engineering, assembly, etc. if it was closed-source software developed by a single author in the first place.



So, are you willing to share the full sources for nwncx_patch with anyone?

 

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?


               
               

               
            

Legacy_virusman

  • Sr. Member
  • ****
  • Posts: 448
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #918 on: July 27, 2016, 03:33:46 pm »


               

tryguy, please read readme.txt file from NWNCX release package, it should answer most of your questions.



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #919 on: July 27, 2016, 05:24:26 pm »


               


 



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.