View previous topic :: View next topic |
Author |
Message |
Baaleos
Joined: 02 Sep 2007 Posts: 830
|
Posted: Mon Aug 31, 2009 13:07 Post subject: True |
|
|
I can see that is a good reason not to release a plugin that can activly alter the player count.
But surely there must be a nwnx method of just discounting dm's from contributing?
I'm gonna make a load of assumptions here, based on my 'little' knowledge of the internals etc.
Im guessing that when someone logs in, a function fires, and this then increments the number of players, from my own experimentations, I saw that there was a heartbeat, that updates the total too, I was able to replace this code address with nop codes, and the result was that nwnserver looked all funky, had purple display etc.
It didnt really stop the player count from changing though, Upon leaving the game, it too a little longer, but the player count still did change from 1 to 0.
While I know this would be a bad idea to release in terms of spoofing player counts, surely there could be some safe way of discounting dm's?
I mean, if we are gonna hide the dm's, surely they should be totally un-detectable?
My own server, there is times when we have 3 dm's on, and when players log in, they find it noticable, that the inside player list doesnt have the same amount of people as the external. |
|
Back to top |
|
|
PlasmaJohn
Joined: 04 Mar 2005 Posts: 70 Location: The Garage
|
Posted: Mon Aug 31, 2009 22:37 Post subject: Re: True |
|
|
Baaleos wrote: | But surely there must be a nwnx method of just discounting dm's from contributing? |
DM's are players with special powers, so no. |
|
Back to top |
|
|
Baaleos
Joined: 02 Sep 2007 Posts: 830
|
Posted: Tue Sep 01, 2009 0:47 Post subject: Re: True |
|
|
PlasmaJohn wrote: | Baaleos wrote: | But surely there must be a nwnx method of just discounting dm's from contributing? |
DM's are players with special powers, so no. |
Why do you say/think that Plasma?
Clearly there is some sort of code differentiation between players and dm's, since DM's are already able to be selectivly hidden from the server player list.
From my own experiments, I know there is a code/function in the server, that continously counts the players logged in, and updates it, almost like on a heartbeat.
I tried altering it, and got strange results, but I was able to see the player number count, being attempted to be reset back to the correct number.
The fact that it is continuously attempting to re-count the number of players, 'possibly' means it loops through players in memory.
I admit, I dont have much knowledge of assembly language, or the structures used in nwnserver.exe but I would assume that it might be possible to block the re-count code, when its being called for a player who is a DM.
I don't know if this is too complicated for nwnx to accomplish, since I don't know how easilly it can identify a player and dm separately, and if it can use this in tandem with the recount code.
Eg - only recount(playerhere), if not a dm. |
|
Back to top |
|
|
Zebranky
Joined: 04 Jun 2006 Posts: 415
|
Posted: Tue Sep 01, 2009 13:08 Post subject: |
|
|
The GUI player count uses the same count as BNXR, Gamespy, etc. I haven't drilled down into where exactly this is updated, but it's little more than a running tally of open sockets. It's incremented when someone connects (right around where the client sees the character selection screen), and decremented when they disconnect. I think the incrementation happens before we establish whether it's a player or DM, so not much to be done there (other than decrement if it turns out to be a DM, then not decrement on their disconnect... one possibility).
Another option is to hook where the count is actually used, and get the count by looping through players then. That involves significantly more messing with engine functions and structures, but might be more elegant.
The best solution is probably to hook as above, then call a script that will return the player count to use. _________________ Win32 SVN builds: http://www.mercuric.net/nwn/nwnx/
<Fluffy-Kooshy> NWNx plugin is to this as nuclear warheads are to getting rid of fire ants.
<ThriWork> whenever I hear nwn extender, I think what does NWN need a penis extender for? |
|
Back to top |
|
|
Baaleos
Joined: 02 Sep 2007 Posts: 830
|
Posted: Tue Sep 01, 2009 14:16 Post subject: Would this? |
|
|
Would this be something you would be willing to explore for the furtherment of the DM hiding option?
So far, the major concern of people seems to be the possibility of it being backwards engineered to tamper with Playercounts to promote servers falsly.
If you feel this is a possible out come of your work, and you decide not to persue it, I'd be happy to go with your decision, and not ask for it any more.
If however, you'd like the challenge, I await eagerly to see if it becomes a future release. |
|
Back to top |
|
|
Baaleos
Joined: 02 Sep 2007 Posts: 830
|
Posted: Tue Sep 01, 2009 14:48 Post subject: oooh |
|
|
Quote: |
I think the incrementation happens before we establish whether it's a player or DM, so not much to be done there (other than decrement if it turns out to be a DM, then not decrement on their disconnect... one possibility).
|
Hey Zeb, just occured to me,
Is it the client or the Server that is challenging the Client for the DM Password?
DM passwords are required before you can be allowed onto the server, and before you contribute to the player count?
Surely that would mean that the server knows if its a DM or not (in some roundabout fashion), before they contribute to the count?
At least, thats the way it occurs to me.
Perhaps its Client Side validation that asks for the password?
But in that case, surely a password of some sort is being received by the server, if its wrong, it refuses entry, if its correct it allows entry, and the player count increases.
Some slightly over-simplified Pseudo-coding could therefore say that
if
submitted DM password == Actual DM Password
- we have a dm
I'd make a further assumption that some sort of var is set around this point, to mark the logged in account as being on as a DM - which would then allow them to use the dm console commands.
Alot of this is just assumptions. You would have more insight into it than me.
Kinda felt all 'smart' there when I realised that there is a challenge for dm password, which might make the server aware of the account being a dm opposed to normal player. - Feel free to put me back in my place Lol. |
|
Back to top |
|
|
Zebranky
Joined: 04 Jun 2006 Posts: 415
|
Posted: Tue Sep 01, 2009 17:48 Post subject: Re: oooh |
|
|
Baaleos wrote: | DM passwords are required before you can be allowed onto the server, and before you contribute to the player count? |
I was saying exactly the opposite above. You're added to the player count BEFORE you provide any password to the server (player or DM). _________________ Win32 SVN builds: http://www.mercuric.net/nwn/nwnx/
<Fluffy-Kooshy> NWNx plugin is to this as nuclear warheads are to getting rid of fire ants.
<ThriWork> whenever I hear nwn extender, I think what does NWN need a penis extender for? |
|
Back to top |
|
|
Baaleos
Joined: 02 Sep 2007 Posts: 830
|
Posted: Tue Sep 01, 2009 18:01 Post subject: |
|
|
Whoops, sorry.
I guess I've never actually been able to see the player count going up, because the dm password prompt was always in the way. Lol |
|
Back to top |
|
|
Zebranky
Joined: 04 Jun 2006 Posts: 415
|
Posted: Wed Sep 02, 2009 1:52 Post subject: |
|
|
I stand corrected.
BNCS contains the connection type; byte 7 (0-based) is the connection type: 40h for server admin, 20h for DM, and 10h for player. However, HandleBNVSMessage checks this value, which means it's saved somewhere reasonably easy to find. Additionally, the server does wait until you've authenticated to add you to the list/count.
All in all, that bodes pretty well, though I'm not very interested in actually making that hook. I'll provide guidance and moral support if you want to try, though. _________________ Win32 SVN builds: http://www.mercuric.net/nwn/nwnx/
<Fluffy-Kooshy> NWNx plugin is to this as nuclear warheads are to getting rid of fire ants.
<ThriWork> whenever I hear nwn extender, I think what does NWN need a penis extender for? |
|
Back to top |
|
|
Baaleos
Joined: 02 Sep 2007 Posts: 830
|
Posted: Wed Sep 02, 2009 1:57 Post subject: |
|
|
Quote: |
All in all, that bodes pretty well, though I'm not very interested in actually making that hook. I'll provide guidance and moral support if you want to try, though.
|
Lol
Moral guidance etc - does that include a pdf of what to type, and where to type it?
Cause without that, I am clueless. Lol
I could compile pretty fine, but I have no idea of the structure of nwnserver.exe eg - what functions to use, how to get the function addresses etc. It gets especially confusing because I see in the svn version that there are functions that include assembly language etc, I dont know assembly language etc. . . . English, Japanese, php, vb, small amounts of c# and nwnscript, thats all....
Panic Attack ensuing . . . . Hyper ventalation . . . .
Question - has bioware actually introduced a use for the server admin password etc ever? |
|
Back to top |
|
|
FunkySwerve
Joined: 02 Jun 2005 Posts: 377
|
Posted: Wed Sep 02, 2009 16:49 Post subject: |
|
|
[quote="Baaleos"] Quote: |
Question - has bioware actually introduced a use for the server admin password etc ever? |
Oh absolutely. It's there to make the rest of the GUI look flashy, like all the spiffy blinking lights they put on stuff in scifi movies.
Funky |
|
Back to top |
|
|
Baaleos
Joined: 02 Sep 2007 Posts: 830
|
Posted: Wed Sep 02, 2009 16:57 Post subject: Lol |
|
|
Lol,
Was just wondering since Zeb found different values for Server Admin, DM, and Player, was there actually some way to log in, and set a player to be Server Admin?
Does Server Admin get any privilages that a DM normally does not?
I think Server Admin, is probably the same setting you have in Single Player? Can anyone confirm? |
|
Back to top |
|
|
FunkySwerve
Joined: 02 Jun 2005 Posts: 377
|
Posted: Thu Sep 03, 2009 7:52 Post subject: |
|
|
It was a never-implemented feature.
Funky |
|
Back to top |
|
|
Zebranky
Joined: 04 Jun 2006 Posts: 415
|
Posted: Sun Sep 06, 2009 7:47 Post subject: |
|
|
scarface wrote: |
If you could port to Linux I'd let you marry my sister who is a model |
How could I turn down an offer like that? Ported; see the other thread for details _________________ Win32 SVN builds: http://www.mercuric.net/nwn/nwnx/
<Fluffy-Kooshy> NWNx plugin is to this as nuclear warheads are to getting rid of fire ants.
<ThriWork> whenever I hear nwn extender, I think what does NWN need a penis extender for? |
|
Back to top |
|
|
Tiamas
Joined: 10 Sep 2009 Posts: 3
|
Posted: Thu Sep 10, 2009 0:29 Post subject: |
|
|
Hi there, i got a little question: Is the disabling function already implemented in the 1.0.5 Fixes Version for Linux? In the Caps-Thread Zebranky mentioned i saw that there was a successful test with Linux, but i cant find any download. If it is not implemented in 1.0.5, where can i get the latest fixes version?
(I'm asking because its just not working, and i wanna know if my low skills with linux are the problem or not *g*) |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|