nwsync feedback & discussion thread
shadguy
Member Posts: 154
@niv, I have some questions and comments based on reading your doc over here: https://docs.google.com/document/d/1eYRTd6vzk7OrLpr2zlwnUk7mgUsyiZzLoR6k54njBVI/edit#heading=h.70hrnjef5wv3
I figured I'd start a thread rather than PM to invite discussion, hope that's okay. Thank you for the documentation and work so far!
Questions/Comments:
1) If a server is passworded, will the game check that the player knows the password before downloading assets?
2) If a player has assets in HAKs/TLKs locally already, I expect nwsync won't source stuff from there unless a player manually jumps through a lot of hoops to seed their repository? That's probably not a feature I'd spend time on, but the thought did occur.
3) Our server still runs v1.69 and has server-only hak full of assets players DON'T need. There's various reasons for this and I'd be 100% okay with players downloading the contents of this HAK, but they don't need it and it is a waste of space on the player's side. Would you be open to giving the ability to mark specific HAKs as "private" or "server-side" in the Module Properties Custom Content tab? This would tell nwsync to skip the contents of these particular HAKs, if any. It would be the module designer's responsibility to get these settings correct. I have the impression server HAKs are not particularly unique to our world, but I don't get out much to other worlds.
I'll play with the thing a bit over the next couple weeks as time permits, but I thought it wouldn't hurt to start a discussion in parallel.
-Dave
I figured I'd start a thread rather than PM to invite discussion, hope that's okay. Thank you for the documentation and work so far!
Questions/Comments:
1) If a server is passworded, will the game check that the player knows the password before downloading assets?
2) If a player has assets in HAKs/TLKs locally already, I expect nwsync won't source stuff from there unless a player manually jumps through a lot of hoops to seed their repository? That's probably not a feature I'd spend time on, but the thought did occur.
3) Our server still runs v1.69 and has server-only hak full of assets players DON'T need. There's various reasons for this and I'd be 100% okay with players downloading the contents of this HAK, but they don't need it and it is a waste of space on the player's side. Would you be open to giving the ability to mark specific HAKs as "private" or "server-side" in the Module Properties Custom Content tab? This would tell nwsync to skip the contents of these particular HAKs, if any. It would be the module designer's responsibility to get these settings correct. I have the impression server HAKs are not particularly unique to our world, but I don't get out much to other worlds.
I'll play with the thing a bit over the next couple weeks as time permits, but I thought it wouldn't hurt to start a discussion in parallel.
-Dave
8
Comments
* (minor nit) In 8182, in the server browser, the column for nwsync that replaced ping has no column name/header/label
* (feature suggestion) Please add support for an nwsync Alias in nwn.ini so I can redirect where the files live, like we have for hak/tlk/modules/etc etc.
I really like the design concept you chose to work with. Things look pretty reasonable at first blush. I'll have to either go mess with my security settings or wait for https support to proceed with actual testing though - I'm erroring out on loading the server with a reasonable/expected message about https. I'll not get into that tonight, however. I've already blown up my server with ill advised late night puttering once this week. :-)
-Dave
Thanks for your test and feedback.
1) Yes.
2) Local data isn't imported yet. Down the line, I want to provide a utility to do this but the core functionality of this has no business nosing into the hak directory. For now, anyways.
3) You are in full control what goes in the manifest. The update utility will take any kind of path/container spec you want to expose. You don't need to add everything the mod has; the example just gives it as, well, example, since that's the most straightforward use case.
4) The ping column should have a proper label. At least it does on my end! Can you specify where/what exactly?
5) Alias is a good idea and also already on the list.
Thank you for the reply - that makes a lot of sense. I'll make a an empty Server_manifest.mod that references all the public haks and omits the server/private hak. That can generate the player manifests and we're good to go - thank you for pointing that out. I didn't see it last night.
-Dave
You can just go: ./update root/ 1.hak 2.hak 3.hak my.tlk
---
FYI, here's what I meant by the ping label column. Maybe I'm confused or describing it poorly:
I was expecting something different from the demo during Friday's twitch stream, but I'm generally listening/not watching while puttering away at work, so I may have misunderstood. I haven't gone back to double check the twitchstream video to check my assumptions.
-Dave
I downloaded the 8182 package on a server dedicated to test this out, different from my production server, fired a module and proceeded to read the NWSync User Manual.
I don't know whom this user manual is written for, but after scratching my head a few times I reckoned the best was to close the whole thing and wait for a mere mortals version.
Still love you man, keep up with the good job, but this is not my level.
Cheers!
So, I've been monitoring all the sites discussing NWN:EE over the weekend, and among all the feedback NWSync has been getting spotted these ugly parts from the Codex:
"this is basically a feature for *** who can't put files into folders or follow simple step-by-step instructions"
"NWN has always been one of the easiest games to mod or install modules. If you own a PC, there's no excuse for not being able to do it."
Once upon a time, the Codex was considered a serious place with RPG nerds and old school players.
I'm just a CM, not a developer, but I find these comments strange. Is it a real opinion by people who play the game, or an opinion formed by a blind hatred?
I know of close friends who own NWN but stay away from PWs because they're not tech savvy at all.
This is not even a debate, TBH.
But on every PW there where players, dms or admins that helped. Players developed tools to do a similar job, like WorldGate we used on my PW.
And then, there is neverwintervault.org or three Facebook groups which are willing to help.
Don't know what they want, they are "bossing" around there. About things that aren't finished yet, a WIP or some things that show what could be done...
Even my few players where happy about the news about the EE version.
Even considering just the stuff you quoted, the poster is short-sighted; they explicitly mention "if you own a PC, there's no excuse...", and are obviously not considering the bigger picture BeamDog has targeted with their plans. It's not like you've been hiding your strategy under a rock.
I personally like that BeamDog is looking to fund one of my hobbies by expanding the NWN market into mobile; nwsync is an elegant piece of that puzzle to me, even if I already know how to copy a file into a folder on a PC.
Maybe it's just that The Kids Dont Get It. (RIP Gordie).
---
@Japualtah , do you think you could make progress if you focused on just Step #1 in the document? Failing that, do you have a team member you could lean on?
-Dave
Of course, with a lot of time and frustration, could do, but this should still be a game for end-users
So how am I as a mere mortal even supposed to comment on a feature that is not yet used anywhere?
TR
update --description=mymod /caddy/windows "C:/Users/dunahan/documents/neverwinter nights/modules/module000.mod"
It worked and created in my caddy-installation, where I extracted the binaries from @niv's, a data-folder and a manifest-folder.
I'll post more tomorrow Now its 22:19 o'clock here, and that's laaaate for me
in the docs.
My example needs a module with one hak and a custom tlk linked in it. Because without these, the nwnsync won't work. Those files are within the documents folder for nwn:ee.
1. Download and extract caddy. For the
test, you don't need any settings.
Extract it to C:\caddy.
2. Download and extract the binaries
for nwnsync. Extract it to C:\caddy\nwnsync.
Eventually rename folders or move the
binaries.
3. Start CMD, change to caddys folder with cd c:\caddy. Run caddy with caddy, without options.
4. Start another CMD, because caddy runs within the first. With cd c:\caddy\nwnsync
change to nwnsync folder.
5. Run nwnsync with the command from above.
Not very keen on installing Caddy though, my web server is working fine and I don't fancy messing with possibly conflictual installations.
I'm hosting most of our custom haks and the tlk in web, but not at home at my server it self.
caddy is just mentioned in case you don't have a decent web server set up yet. As it's a single-command thing, it helps people get set up rapidly. But you can use any modern webserver.
sftp is not supported as a transfer protocol. Just plain http right now. I might look into adding ftp or similar though if there's demand. https is coming as well.
I would like to thank wholeheartedly Niv on behalf of the community, if I may, for his outstanding job.
NWSync is a revolution IMHO and as far as I can tell, it's working as flawlessly as you can expect from a newly released piece of software.
Kudos!
I have a few things in mind that I'll throw in here.
What about the music?
I make extensive use of custom music files and they're not included in the repository, are they?
Second off, just because I care about the poor folks who struggle as much as I do with command line stuff, please modify in your documentation 'Try update --help' with 'Try ./update --help'. Of course it's obvious. For you
Third off: the override folder is ignored. Since all my 2DA files are in override, my first manifest didn't include any 2DA and my players reported the weird things you can imagine.
It's not a problem, really, I just copied all my override files in a hak, ran the sync and removed the 2DAs afterwards, not a big deal.
There's nothing you can do about that, can you ? I'm merely raising a warning flag for modders, it's easy to get caught absentminded.
Lastly, but that only comes from my own ignorance, I still haven't found how to connect to my web server, I did it the dirty way, mounting my NAS from GNOME and hoping my symbolic link would do the trick, which it seems to do, but I truly blush in shame.
Time to tinker with /dev/fstab and root/.permissions which didn't go very well on my first attempts
Again, I'm very happy with this new tool and incredibly relieved I could make it work.
*Virtually shakes hands*
On one computer, I had deleted all resources, emptied the hak, override and tlk folders.
Connected to my PW, downloaded everything and could connect.
Once connected, none of my custom placeables were to be seen.
I then manually copied my placeables.2da file into the override folder and that fixed the problem.
I'm going to investigate the problem a bit more and will come back if I find anything valuable to add.
thanks for your kind words! I really do appreciate that. There's still a lot to do on NWSync, it's nowhere near where it needs to be, so expect more stuff in the future.
Let me try and address your questions:
- Music doesn't work yet. Music is currently streamed directly out of music/, etc and doesn't even go through where all other data is loaded from (ResMan). We're going to have to bend some things into shape to make this work, but it's on the TODO.
- You don't have to create a hak. ./update actually can take multiple sources. You can give it the mod, you can give it extra haks, or you can add arbitary directories and files; i.e. ./update modules/my.mod override/. Note that order of entries determines shadowing ("overwrite") behaviour.
- Serving up NWSync from a network share will be really slow. Getting a decent web server in place is going to be useful when you grow stuff a bit. But there's no rush. Start with what works, and refine later.
Let me know if you figure out what's going on with placeables.2da. Make sure to restart your game server when you update the repo, so the server knows to tell clients about the new manifest hash.
Thanks a freaking lot about the optional directories for ./update, I overlooked that, it's really sweet!
You may want to add to your document that if you want to add a folder you have to end the entry with /* to include all files. Again, might be obvious for you, much less for your target audience.
About the remote web server, you're off course right.
I run a few web servers from my Synology NAS and the one dedicated to NWN even runs on a Synology Wordpress packet, which is awesome. I don't see me moving my web servers to one of my NWN servers but maybe I would be better off serving NWSync locally and having a symbolic link on the NAS pointing to the sync folder?
I don't even know if the NAS will let me do that, it farts in my general direction when I even try to log in as root, but if you think that would be the right way to do it, I'll look into it.
Not even going to think about routing 80 traffic to different machines, I know it can be done, but oh boy, that's punching way above my weight!
Anyway, thanks again, NWSync (when used properly ) is fantastic.
The game now takes around 10 secs to launch instead of being instant before 8186, be it with F9 (test module) or using the 'reload when empty' option with a running Windows server, or connecting to my Linux servers.
This waiting time quickly adds up especially when setting up visual effects which need to be tweaked very often to get right, emitters being what they are.
I guess it's checking the local nwsync folder against the web repository which takes time, is it possible to turn it off for development? We have all resources locally anyway.
Luckily I work on an i7 8700 with SSDs, I dread to imagine what it's like on older machines
Cheers!
Anyway, I remembered the old trick we were using back in the days when the server would slowly start to crawl before a crash: StartModule(GetModuleName()); which instantly reloads the module.
Works like a charm.
i have no idea where to even begin looking for this error
If you are not on Windows, please link me the broken manifest and possibly the source files so I can investigate.