Upcoming Events

Collapse

There are no results that meet this criteria.

Announcement

Collapse
No announcement yet.

A solution to lag -- we need your help!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • A solution to lag -- we need your help!

    As many of you know we all experience lag at times from several key bugs which can cause flooding in NWN2 (see WASD keys).

    It has been the source of frustration for us, as well as Obsidian, and you guys. So after much monitoring, research, testing, and thinking -- here's our solution. We need to upgrade our banwidth so even if people max out their connection flooding the server from these bugs, the server will be able to handle all the requests.

    Now what this means is that if you are using the WASD keys or even if another bug occurs that makes you flood the server, it will cap out your connection to the max (and you will lag), but the server will be largely unaffected. This means far smoother gameplay for all. The only people that will really be affected by lag are people who choose to keep using the movement keys up until the point the bug is fixed.

    To do this is going to cost us $100 per month. As some of you may know, Sundren is running a rackmount enterprise class hp proliant server. We also host this website, our own personal server for development, and another for the updater to give you all the files. We provide all of this completely free of charge.

    In order for us to afford this upgrade we need help from you guys, our community. We have a donations link under the site navigation or you can click here. Whether it's $5 or $50, every little bit helps. And we can then finally have an answer to the infamous lag beast.

    As an added bonus to donators, we've decided to give a few small benefits. Existing and new donators will get their PM inbox increased to a limit of 2000 messages, you will also be able to upload your profile picture, avatar and signature on the forum instead of hosting it somewhere else. Donators will receive our donator badge for e-peen points amongst your fellow players. Donators will also receive the opportunity to beta test new features, functionality, and content on our private development server before the general populace gets a chance to see everything.

    I'd also like to send a warm welcome to all our new players joining, enjoy the server and don't forget to register on our forums to receive the latest updates and chat about what new features you'd most like to see in Sundren!
    The very existence of flame-throwers proves that some time, somewhere, someone said to themselves, You know, I want to set those people over there on fire, but I'm just not close enough to get the job done.

    George Carlin

  • #2
    Well...it's not much, but I sent in $5.00
    About time I put some of my limited money where my mouth is.
    There's a thin line between the definition of genius and insanity; I cross it all the time.

    Comment


    • #3
      I will send $5 when my credit card comes.

      I would like to give more, but dollor here is three times more than my native money
      Last edited by Lanemeyer; 08-27-2007, 04:26 PM. Reason: typo correction
      "Nothing is true, everything is permitted."

      Comment


      • #4
        nobody will let me have a credit card, maybe post a mailing adress and it will only take a month and a half to get your check.

        Comment


        • #5
          Originally posted by Lallendos
          Wow- a country where the dollar is strong. What a rarity.
          hahaha, but sometimes isnt that bad, we end the day with dollar being only two for one =P
          "Nothing is true, everything is permitted."

          Comment


          • #6
            Originally posted by Lallendos
            Wow- a country where the dollar is strong. What a rarity.

            Um...the dollar is stronger than most other major currencies. Stronger than the Yen, peso, pound (I think, a little unsure on that one)...
            Don't run...you'll only die tired.

            Comment


            • #7
              Pound? Isnt pound the UK stuff? I dont think its stronger then that.

              Comment


              • #8
                Well, I just threw in my $20 and this is my second contribution, so I would like slippers and a red smoking jacket for my character now

                Hope this helps!

                Comment


                • #9
                  Oh, and i think lithorn was being sarcastic...

                  Comment


                  • #10
                    I doubt i can convince my dad to send money n i dont have a credit card >_<

                    Comment


                    • #11
                      like i said, post up a mailing adress, it'll take time, and my money is canadian, but im sure it'll spend the same.

                      Comment


                      • #12
                        There's a donate button on the site navigation.
                        The very existence of flame-throwers proves that some time, somewhere, someone said to themselves, You know, I want to set those people over there on fire, but I'm just not close enough to get the job done.

                        George Carlin

                        Comment


                        • #13
                          I'll share my knowledge if it helps

                          I'm very new to Sundren (Haven't even gotten around to creating a character for Sundren), but I am fairly up to speed with Multiplayer related stuff (i.e. Distributed Computing and High Interaction Multiplayer communications. Did a thesis on it) and I may have another solution. I believe that this issue will happen again as the player base increases. The Cap method will work okay, but here is another thing to think about. It seems that there is a set percentage on maximum client interaction.
                          Lets just say the following:
                          - (A) Each client is capped at a consumption of 200 units of bandwidth.
                          - (B) On average however, each client only consumes 80 units of Bandwidth
                          - the server has a maximum capacity of 10000 units of bandwidth

                          At the moment, you have a processing maximum of 10000 / 80 (A) = 125 clients logged in. Now if you had them all running at maximum bandwidth, you?re maximum would only be 50. Now even if you scaled the capping based on the number of clients, you then greatly sacrifice Client experience for server priority. I?m not sure that capping is the way to go, rather than improve upon how the communication happens and make it more efficient and no, compression is not the solution.
                          Look at the high interaction games like Quake an so on even World of Warcraft. It uses the predictive method of multiplayer.
                          Here is an explanation:

                          Variables and Objects:
                          Avatar = the Players character on the server. This is the actual entity of your character in the environment, so the avatar contains details such as Name, health and most importantly, relative position in the world: x, y and maybe z coordinates.

                          Server = The actual server as a complete entity. So this includes the NWN2 Server running on it as well as the Network and Internet connection that handles all communications.

                          Client = This is referring to the entire player?s computer. This includes the NWN2 game running as a client on the machine, and it communicating along its own Network / Internet medium to the server.


                          When the client presses forward, the client and server move the players Avatar (The entity in the game environment that identifies the Players Character current status and position) moves at its set rate (i.e running at 10km?s per hr). The client side sends the movement request to the server and the client simply assumes it has happened (of course, it will resend the command if the server did not reply a confirmed receive event. Normal TCP\IP behaviour) and will continue until the player releases the movement key. The client then sends this movement stop command to the server and when the server receives it, it will stop movement. In theory:
                          - if the Transmission time for both the ?Start walk? and ?End walk? command take the same amount of time to get to the server (i.e. 20ms), then both the client?s expected position and the Avatars position on the server should be identical.
                          - If the ?Start Walk? command took 20ms to get to the server, but the ?Stop Walk? command took 50ms to get to the server, there is a clear discrepancy. The server will think the Avatar is further than the Client thinks it is. This means that there will be problems if the Client tries to interact with an object (in this case, the Client will think it is next to the body to loot, but the Avatars position is beyond it. Error here obviously). This is where a policy needs to be decided where either the Client knows best (this can cause problems as clever hackers can use this known bug to cheat their way around the world. This will mean that the Player will appear to always be in the right spot, but other players will seem to jump around as the server gets updated with new info) or telling the Client to get stuffed and use it?s own Avatars position (the Client will clearly see the Lag issue and will suddenly jump to the position, but other players will always appear to move in clear-smooth motion). I?m not sure which policy NWN2 has in place, but I think it?s the ?Client gets stuffed? method (WOW for example uses the ?client knows best? method).

                          Knowing this, it is possible to integrate both management options for the WSAD movement and the ?Point and click? method. If using the predictive method, a simply command can be sent to the server to say ?Move Avatar to [x,y,z]? and fingers crossed both the server and player will resolve the same Path-finding solution (if this doesn?t always match, then more data needs to bounce around to then negotiate a path-finding solution). In the WSAD method, just use the other command of ?Walk start? and ?Walk stop? to do it. This will of course leave the point and click method the best for smooth game play, but WSAD is better for long distance movement and should result in pretty good game play still (Will prevent people suddenly lagging around).

                          Of course, this all depends on how much control you have over how the Server and Clients handle communications. If you have this level of control, then you can really do some huge tricks with these multiplayer methods to archive the same goals but with reduced communications. From my experience, Neverwinter Nights in general has been a bit new to the whole Multiplayer scene with networking protocols not being at their most efficient. While they have, in NWN2 absolutely blown the water with the fantastic graphics and brilliant game play (much attributed to their GUI work, Adapting of the D&D rule set and general feel of the game), their Multiplayer communications seems to leave a little to be desired.

                          I know this is kind of off the topic and probably way too difficult to implement in a Persistent world enhancement upon the NWN2 framework, but it might be a bit of food for thought.
                          Calini Anna'Des - Resentful of the Law's values and troubled with her Past.

                          "The life of the creative person is lead, directed and controlled by boredom. Avoiding boredom is one of our most important purposes." - Saul Steinberg

                          "Opportunity is missed by most people because it comes dressed in overalls and looks like work" - Thomas Edison

                          Comment


                          • #14
                            Not to go further off topic, but that go screaming over anyone else's head as fast as it went over mine? I guess I don't have that language in my DFMI tool!
                            "That which you cannot interdict, you incapacitate."
                            Andrew Vachss
                            ____________________________________

                            Comment


                            • #15
                              Hmm. Maybe a NASA supercomputer could help?

                              Woot. Go Mutiny.. i mean... boo Mutiny.

                              Sorry for the delayed responses. Currently at work at the Mo.

                              Far out. 95% is huge! A server shouldn't be at that great a load. Damn Atari! I can definately see that the more processing power will save you some time, but like you said, not much. It really brings home the whole "Do it client or Server side" issue, and the ever classic "Well, just make multiple realms" just kills the whole potential experience. I was going to say Multithread, like you said, it's only a single thread process so that kind of blows that idea out of the water.

                              I'm assuming a Beowulf method couldn't help a lot here. The expense in getting buying the extra machines would be a little high, would probabally involve a OS changeover (I think from memory the Beowulf is onyl working on Linux based machines) and i'm not sure if NWN2 has a linux Server available.

                              From my experience with Bioware / Atari, they're not exactly the quickest to responding to this kind of stuff. They'd need some real big complaints to kick their butts into gear on it. It would most likely be a pretty expensive code change, so I'm placing bets they're not going to modify the code any time soon, and i don't think there's a "Coding Sweatshop" yet.

                              Question: Does the same problem occur when the player clicks and holds? Is this interaction identical to the WSAD method? If the problem only holds with the WSAD movement method, then it may be possible to modify how it communicates. If the Client transmits the move command for every time unit the Avatar would move (every [x,y,z] coordinate change) for WSAD, but the clikc-and-hold method orders movement in a said direction for x amount of time, then maybe a Hak could be used to replicate this behaviour with WSAD? It would kill the whole Straffing thing, but how common is that anyway?

                              How much control do you have over communications or processing with the Server? Can you be selective in the types of Actions from the client? Any idea exactly why the WSAD method causes more problems that normal?

                              I'm feeling very sorry for you! You've had to deal with one hell of a challenge!

                              And just in case, I'm not being critical, just curious. I haven't put the technical half of my brain to work for a little while.
                              Calini Anna'Des - Resentful of the Law's values and troubled with her Past.

                              "The life of the creative person is lead, directed and controlled by boredom. Avoiding boredom is one of our most important purposes." - Saul Steinberg

                              "Opportunity is missed by most people because it comes dressed in overalls and looks like work" - Thomas Edison

                              Comment

                              Working...
                              X