Author Topic: Preloading hak and tlk in multiplayer  (Read 812 times)

Legacy_Grani

  • Hero Member
  • *****
  • Posts: 1040
  • Karma: +0/-0
Preloading hak and tlk in multiplayer
« on: February 23, 2015, 12:54:57 am »


               

This one is bugging me.


My module (which will be both for single and multiplayer) makes some class changes via hak paks. If the haks are loaded only after character creation, it would mean that one could easily make an illegal (from this module's viewpoint) character.


I've heard that NWNX has some plugins that allow preloading haks and tlks before character creation, but, first of all, NWNX refuses to work on my computer at all, and second of all, my module does not use NWNX and I really would find it frustrating if I had to use it just for multiplayer to work properly.


 


Still, I'm not sure if there is actually any other way besides NWNX to fix it, apart from forcing players modify their patch.ini file every time they'd like to play my module, which I'd rather avoid at all costs...



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Preloading hak and tlk in multiplayer
« Reply #1 on: February 23, 2015, 01:50:55 am »


               


This one is bugging me.


My module (which will be both for single and multiplayer) makes some class changes via hak paks. If the haks are loaded only after character creation, it would mean that one could easily make an illegal (from this module's viewpoint) character.


I've heard that NWNX has some plugins that allow preloading haks and tlks before character creation, but, first of all, NWNX refuses to work on my computer at all, and second of all, my module does not use NWNX and I really would find it frustrating if I had to use it just for multiplayer to work properly.


 


Still, I'm not sure if there is actually any other way besides NWNX to fix it, apart from forcing players modify their patch.ini file every time they'd like to play my module, which I'd rather avoid at all costs...




There are only two choices.


1) Running NWNX and nwnx_connect plugin from virusman and me (windows version)


2) Using custom game launcher that will do this and distributing this launcher to your players. The thing here is that while these launchers are actually quite common, nobody shares them.


 


Oh and BTW player can always login with hacked character like Arcane Archer level 1, you need to either verify the legality of the characters in script, or use ELC or better both (look my starter module for a view on how such script shoud look like)



               
               

               
            

Legacy_ShadowM

  • Hero Member
  • *****
  • Posts: 1373
  • Karma: +0/-0
Preloading hak and tlk in multiplayer
« Reply #2 on: February 23, 2015, 03:00:27 am »


               

Nwn preloader


 


video link:


 


Preload haks/tlk single and multi-player(Lan, internet).


Allows you to add new base weapons and set the feats needed for them(like weapon focus etc..)


The makers website is gone now, I see about getting all the part together. (I might of deleted the packaged download so I have to grab them out of the install locations) hehe.


 


Thing it does not do, does not work with nwnx functions.


I have it and all the nwnx (extenders) wish I could get them all together, I have asked virusman.


 


It be nice is someone could go over the pre loader and make work with all cool nwnx functions with standard server '<img'> But you can load up nwnx and play on server single player too if you want to use them.


 


I suggest you get both, I had trouble with nwnx too. I had the wrong nwnx_connect plugin and shadoow got me the right one. Might be your problem too. Good luck!


               
               

               
            

Legacy_kalbaern

  • Hero Member
  • *****
  • Posts: 1531
  • Karma: +0/-0
Preloading hak and tlk in multiplayer
« Reply #3 on: February 23, 2015, 03:17:24 am »


               

An alternative to preloading haks is to login, create a "throw away" PC and join the PW. Then exit the module/PW and create the actual PC you desire. so long as you've logged in and out first, but not restarted NWN, the haks and tlk should remain loaded just as if you've preloaded them.



               
               

               
            

Legacy_Proleric

  • Hero Member
  • *****
  • Posts: 1750
  • Karma: +0/-0
Preloading hak and tlk in multiplayer
« Reply #4 on: February 23, 2015, 07:23:57 am »


               

Is this an issue specific to PW? In SP, I have a custom class, which overrides Barbarian. The .hak and .tlk are loaded between module selection and character creation, so no problem.



               
               

               
            

Legacy_Grani

  • Hero Member
  • *****
  • Posts: 1040
  • Karma: +0/-0
Preloading hak and tlk in multiplayer
« Reply #5 on: February 23, 2015, 11:08:47 am »


               

 


Is this an issue specific to PW? In SP, I have a custom class, which overrides Barbarian. The .hak and .tlk are loaded between module selection and character creation, so no problem.



 


It's not specific to PW, but it is specific to any multiplayer, as far as I've tested.


 



 


2) Using custom game launcher that will do this and distributing this launcher to your players. The thing here is that while these launchers are actually quite common, nobody shares them.



 


I grinned. Why doesn't anyone share them? Are there specific to a single server or what?

 



 


Preload haks/tlk single and multi-player(Lan, internet).


Allows you to add new base weapons and set the feats needed for them(like weapon focus etc..)


The makers website is gone now, I see about getting all the part together. (I might of deleted the packaged download so I have to grab them out of the install locations) hehe.



 


That sounds just like what I'm looking for. But would it work with NWNCX? I have a feeling it would not, since it's probably an alternative exe file.


 



 


An alternative to preloading haks is to login, create a "throw away" PC and join the PW. Then exit the module/PW and create the actual PC you desire. so long as you've logged in and out first, but not restarted NWN, the haks and tlk should remain loaded just as if you've preloaded them.



 


Interesting, I did not know this. If everything else fails, this might be the way.


 


 



 


Oh and BTW player can always login with hacked character like Arcane Archer level 1, you need to either verify the legality of the characters in script, or use ELC or better both (look my starter module for a view on how such script shoud look like)



 


Correct me if I'm wrong, but doesn't ELC work incorrectly when used in modules that make some modifications to classes?



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Preloading hak and tlk in multiplayer
« Reply #6 on: February 24, 2015, 03:04:28 am »


               


Nwn preloader


 


It be nice is someone could go over the pre loader and make work with all cool nwnx functions with standard server '<img'> But you can load up nwnx and play on server single player too if you want to use them.


I dont understand. NWN preloader is basically just another copy of NWNX so there is no "do it via preloader and standard server" thing. Both programs works the same, and I actually had an idea to modify nwmain.exe / nwserver.exe but nobody supported this.


 


And hows thats NWNX doesnt work for you? The only reason I can see is AV, just whitelist it, its false positive. Im using MSE and it only report threat at the nwnx patcher for nwserver.exe (which I dont use anyway because of the camera hack inside).


 


Plus now with my nwnx_patch you can have the features of NWN Preloader too, that is set a weapon feats for any weapon, even custom ones via simple 2da file.


 




Is this an issue specific to PW? In SP, I have a custom class, which overrides Barbarian. The .hak and .tlk are loaded between module selection and character creation, so no problem.




Yes, in singleplayer module is unpacked before character rcreation, in multiplayer, client logging in doesn't load anything in advance unless the workaroud that kalbaern mentioned.


 




 


I grinned. Why doesn't anyone share them? Are there specific to a single server or what?



Correct me if I'm wrong, but doesn't ELC work incorrectly when used in modules that make some modifications to classes?




They are specific to single server but thats not the reason as its easy to modify it for any other server. Reason for this is same as the reason why many scripters doesn't share their PW systems or NWNX modifications. Uniqueness. Others don't have these features, but your server does that makes it special and interesting for a players and gives you advantage.


 


ELC works just fine with custom classes/feats/spells. The only thing that doesn't work with ELC are custom bonuses via NWNX such as +1stat/new feats. As long as you don't do these things ELC will work correctly even with custom content.


               
               

               
            

Legacy_ShadowM

  • Hero Member
  • *****
  • Posts: 1373
  • Karma: +0/-0
Preloading hak and tlk in multiplayer
« Reply #7 on: February 24, 2015, 04:14:36 am »


               

NWN Preloader


Loaders does not need nwnx custom server starter.


Loads haks and tlk from any server, lan or internet and finds the haks and tlk automatically.


Has a custom 2da that let me set any dummy feat in the feat.2da to run


Custom new weapon weapon focus


Custom new weapon EPIC_WEAPON_FOCUS


IMPROVED_CRITICAL


WEAPON_OF_CHOICE


EPIC_WEAPON_SPECIALIZATION


EPIC_OVERWHELMING_CRITICAL


EPIC_DEVASTATING_CRITICAL


Add weapons that can be finessed or set standards that can.


Custom new weapons Weapon Specialization


MONK_WEAPON


 


Nwnx does not have these or does not have a simple 2da way of doing them yet.


 


Nwnx works with nwnx functions, preloaders does not.


Nwnx load haks and tlks with nwnx client.


Nwnx client load custom visual weapons, nwn loader does not.


Nwnx client loads custom rays?


 


Though are the differences I know of and why I have both. Preloaders system with


custom weapons is just to nice for me to just use nwnx if Virusman added preloaders


custom weaponfeats.2da system into nwnx client then I would switch over in a heartbeat.


               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Preloading hak and tlk in multiplayer
« Reply #8 on: February 24, 2015, 06:08:48 am »


               


NWN Preloader


Loaders does not need nwnx custom server starter.


Loads haks and tlk from any server, lan or internet and finds the haks and tlk automatically.


Has a custom 2da that let me set any dummy feat in the feat.2da to run


Custom new weapon weapon focus


Custom new weapon EPIC_WEAPON_FOCUS


IMPROVED_CRITICAL


WEAPON_OF_CHOICE


EPIC_WEAPON_SPECIALIZATION


EPIC_OVERWHELMING_CRITICAL


EPIC_DEVASTATING_CRITICAL


Add weapons that can be finessed or set standards that can.


Custom new weapons Weapon Specialization


MONK_WEAPON


 


Nwnx does not have these or does not have a simple 2da way of doing them yet.


 


Nwnx works with nwnx functions, preloaders does not.


Nwnx load haks and tlks with nwnx client.


Nwnx client load custom visual weapons, nwn loader does not.


Nwnx client loads custom rays?


 


Though are the differences I know of and why I have both. Preloaders system with


custom weapons is just to nice for me to just use nwnx if Virusman added preloaders


custom weaponfeats.2da system into nwnx client then I would switch over in a heartbeat.




I know you dont use my community patch and probably not even watch it, but I have developed a plugin for weapon modifications via 2da and that plugin is available both for server and client. And much much more...


 


Of course I dont distribute it separately... but you can rip it off as all you need is a plugin and 2da.


 


So the only feature which remains unique is the ability to preload haks and tlk for a server "automatically" (though if I understand this correctly it works only on second login, not first, after firt login it saves haks/tlk it is using for that IP and next time it loads them automatically). Which I dont see as a huge advantage because anyone who needs players to preload haks will/should run NWNX and nwnx_connect. At that point its just a matter of a program he gives his players link to, for a player its one exe to run a game or second exe.


               
               

               
            

Legacy_leo_x

  • Sr. Member
  • ****
  • Posts: 403
  • Karma: +0/-0
Preloading hak and tlk in multiplayer
« Reply #9 on: February 24, 2015, 10:40:31 am »


               

It might not be a concern, but it's worth noting... the above suggestions will limit your potential players to the Windows client (either native or with WINE style emulation) only.



               
               

               
            

Legacy_Grani

  • Hero Member
  • *****
  • Posts: 1040
  • Karma: +0/-0
Preloading hak and tlk in multiplayer
« Reply #10 on: February 24, 2015, 10:43:30 am »


               

Nevermind the problem I had with launching NWNX, I solved it.


Indeed, everything works as intended when hosting the game via NWNX. Perhaps I'll stick to this solution for multiplayer, it's not THAT much of a hindrance after all.


 


Though I have a question for you, Shadooow.


 


I know that for CPP you've added many fixes in the form of an NWNCX plugin, among which I remember are: trident weapon focus fix, circle kick fix, druids and rangers stacking levels for their animal companions... Now they are all very useful and I'd want to keep them when playing the module in multiplayer. Are these fixes also available in the form of a NWNX plugin?


 


 




It might not be a concern, but it's worth noting... the above suggestions will limit your potential players to the Windows client (either native or with WINE style emulation) only.




 


Well, indeed. It seems that NWNCX is required on client's side in order to make use of NWNX's preloading feature. Seeing as NWNCX is Windows exclusive, Linux players would be out of luck. Well, they can still use the workaround of creating a "placeholder" character, logging out and then creating a proper one.



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Preloading hak and tlk in multiplayer
« Reply #11 on: February 24, 2015, 11:08:46 am »


               

good point leo_x, forgot about that




Nevermind the problem I had with launching NWNX, I solved it.


 


I know that for CPP you've added many fixes in the form of an NWNCX plugin, among which I remember are: trident weapon focus fix, circle kick fix, druids and rangers stacking levels for their animal companions... Now they are all very useful and I'd want to keep them when playing the module in multiplayer. Are these fixes also available in the form of a NWNX plugin?




Its a little more complicated. I tried to softcode/externalize what I could thus. Some things are actually fixed/changed in the script and the scripts are in CPP bif files. Some features are fully coded in plugin like circle kick fix or trident fix, some of them depends on the script - animal companion/familiar levels stacking, death attack duration... and some of them needs to be turned ON/OFF via module switch/variable on creature - sneak immunity detach from critical, monk ac not working in shapes etc. and some needs custom 2da (weapon feats feature) or new collumn in default 2da (using items in polymorph feature)


 


Thus if you just use the plugin without patch (or without the respective scripts and 2das) some features won't work. Its possible to rip all the scripts and 2das off but you need to know which are those. I have no desire to do that however, I feel it fits together.


 


EDIT: note, my plugin is different from others, first the ini setting is in nwnplayer.ini not nwnx.ini and second the ini settings can only turn off hooks not features like monk ac disable in polymorph - instead these things are done via module switch. But if you think about it, its a logical decision.


 


First, there is no nwncx.ini and my plugin is for both server and client (ie. two plugins and they uses same ini - and player does not neccessarily have to nwnx.ini in his installation as thats for server).


Second, since the features are also for client, adding these options into ini is a bad idea. This way, its a module builder who decide the rules not a player and two modules can have different settings.



               
               

               
            

Legacy_Grani

  • Hero Member
  • *****
  • Posts: 1040
  • Karma: +0/-0
Preloading hak and tlk in multiplayer
« Reply #12 on: February 24, 2015, 11:27:51 am »


               

I understand this. I do have your patch and I am not trying to separate the fixes from it.


As I recall, whether the fixes from CPP apply on a server or not depends solely on whether the host has CPP installed or not.


 


I'm only interested in whether the fixes from CPP will work if I host the module via NWNX or not. I noticed that there was an "nwnx_patch.dll" in 1.71's archive, but I couldn't find documentation about this specific file (maybe I simply missed it). Hence why I'm asking - are the fixes I mentioned present in this file, in order to enable them when using NWNX, or is it something else?


 


Edit: Found my answer in the Lexicon entry regarding nwnx_patch file '<img'>


Well, guess that's all, then.



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Preloading hak and tlk in multiplayer
« Reply #13 on: February 24, 2015, 11:59:17 am »


               


I understand this. I do have your patch and I am not trying to separate the fixes from it.


As I recall, whether the fixes from CPP apply on a server or not depends solely on whether the host has CPP installed or not.


 


I'm only interested in whether the fixes from CPP will work if I host the module via NWNX or not. I noticed that there was an "nwnx_patch.dll" in 1.71's archive, but I couldn't find documentation about this specific file (maybe I simply missed it). Hence why I'm asking - are the fixes I mentioned present in this file, in order to enable them when using NWNX, or is it something else?


 


Edit: Found my answer in the Lexicon entry regarding nwnx_patch file '<img'>


Well, guess that's all, then.




Short answer, no. nwnx_patch applies for server and only when run as a server via NWNX.exe, nwncx_patch applies for client but it cant affect server. There are few exceptions of course. Extended effect icon limit is selfexemplatory, if server uses customeffect icon it will work. And possibility to select nonstandard baseclass will also work in multiplayer (this feature should be used together with nwnx_connect but will also work with 2da in override/patch-hak).


 


Btw descrition for nwnc_patch from1.71 version is here. Unfotunately for higher version from 1.72 there isnt any comprehesive list like this yet....