nwn2dev / nwnx4

NWN2 server extender - Continuation of the work on https://github.com/NWNX/nwnx4
5 stars 5 forks source link

Client disconnects from server #72

Closed loudent2 closed 9 months ago

loudent2 commented 9 months ago

I have a weird issue. I'm running an old PW with NWNx4. I've run this PW at various times with no issues. However, this time. Occasionally, despite being able to connect to the server. It doesn't always fully connect. I noticed this when creating a characater and instead of creating it on the server, it created a local copy. When using an existing character in this state. I can't start any dialogs.

Restarting the server fixes the issues for a time.

CromFr commented 9 months ago

I've never heard of this bug before, and I have no idea what's causing it :/

I noticed this when creating a characater and instead of creating it on the server, it created a local copy

Creating a new character on a server will always save a copy of it in the local vault, so the local copy is expected behaviour.

For troubleshooting, I'd suggest you to test with and without nwnx4. If the bug only happens with nwnx4, try disabling all plugins. This will be helpful to know if the bug is present in nwn2server, nwnx4 or a nwnx4 plugin.

You can also try with an empty module (just one area).

If nothing works, try uninstalling then reinstalling nwn2. Sometimes files get corrupted and you get really strange bugs

loudent2 commented 9 months ago

In this case it only created a local copy and gave me a message along the lines of "Local characters are not allowed on this server" and there was no server copy. It's like it lost its understanding that it was connected to the server.

I can always tell when it happens in the "Select Character" option from the server. It lists the characters but the Info pane on the right is blank (i.e. where it shows stats and classes). I will try the options you listed.

One difference might be that I have the latest version of NWNx4 but I have the same scripts in my module from years ago. Maybe I need to update them (although don't know if they're different.

CromFr commented 9 months ago

The character creation and selection happens very early in the connection process, before any script is executed for the player (as there's no oPC object yet).

I can only think of a few things that could interfere at this stage:

Try without nwnx4 by running nwn2server.exe and loading your module manually. Your module will probably not be playable but you should at least be able to create a new character and see it in your servervault

loudent2 commented 9 months ago

Will try running without NWNx, but I should be clear: This is an intermittent issue. Restarting the server usually fixes it. Thank you for your assistance. I was worried that NWN2 was not played enough for people to be answering questions.

CromFr commented 9 months ago

If you're looking for other nwn2 modders, the discord and vault forum are rather active ;)

loudent2 commented 9 months ago

Yeah, I'm on the discord. Noticed my initial bug report got posted there automatically. I'll check out the vault forum. I get a hankering for NWN2 every couple of years and wind up putting up my server for a bit.

Septirage commented 9 months ago

Can you reproduce the issue at will? xp_msgServer.dll can help you log every message received by the server from a client, but in-game players share a lot of messages with the server.

As Crom mentioned, server-client operations before loading the module with a character are limited.

The character creation process is entirely client-side and communicates with the server only at the end. Therefore, you may lose connection during this step without noticing and be 'kicked out' only at the end. The selection part:

AFAIK, the absence of information in the Info pane (if it occurs only when you have the bug) may suggest:

On the server side, is there anything that can change the read/right permissions on the bic folders or the bic files themselves? Perhaps something is attempting to edit them.

One additional test you can perform: If you're using a client extension, you should be able to see other connections and shout messages. If you encounter the Info Panel issue, try asking someone on the server to shout and check if you can view it in your client extension log panel.

loudent2 commented 9 months ago

Not "at will" but it happens eventually. Unfortunately, I don't have enough players to run tests. There is another old player that has been coming by and he reported having the same issue once. I can see if he is down to running a test. As I said, restarting the server resolves the problem. I still have the tests CromFr suggested so I'll take a look at the permissions at the same time, but my gut tells me that, if it was a permissions issue, It wouldn't be intermittent.

It's really weird. I can log into the world and walk around zone in and out. Maybe even fight monsters (have to check on that) but I can't start conversations. The whole time I can see my name in the player's list in the server. I don't think restarting the client I'm running helps. Only restarting the server (again, will probably have to confirm that).

loudent2 commented 9 months ago

My hand slipped and I closed the issue accidentally.

Just wanted to thank you for giving me your thoughts. If it was just me, I'd probably just deal with it, but others come by for nostalgia now and again.

loudent2 commented 9 months ago

I tested a few things. First, to be clear, I don't think this is about faulty connections to the server. It seems to be a state the server eventually gets it. I checked the output in the client extension window and the server lists all the characters, knows their levels and passes that to the client. The info panel is still empty but I can log in. Walk around, zone to different places. Just can't start conversations.

I still haven't been able to reproduce it without NWNx, but it can be difficult with intermittent problems. I think I'm going to put in the new NWNx scripts. There some stuff in there regarding the TLS that maybe I need.