Send/Receive
Would it be simple to request more/send more packets of player positions to and from the server in order to make players move around more smoothly?
When a player enters a zone and you're looking at him, they pretty much warp all over the place whenever they're moving. If they strafe, they don't move left and right but simple disappear slightly to the left and right. Perhaps it could be introduced as a variable in the database (send/request) limits? Sorry I don't know how to properly explain this in 'l33t c0d3 sp3@k'. |
Yeah, it's not just the PCs, it's pretty much everything that paths. Very odd and annoying. If I come across a setting I'll post it up.
|
Forgive me if I'm wrong. I suck at C++ but this looks like the piece of code you are looking for.
Client_process.cpp Line 475 Code:
SendPosUpdate(2); |
It is pretty easy to adjust how often the updates are sent, but I would be very careful if you are trying to tune it at all. Position updates make up a large percentage of the total traffic being uploaded to clients from the server, so it can use up your bandwidth extremely fast. There is a rule for adjusting the zone wide updates, but you definitely don't want those coming in too fast as it would lag out the server quickly. Currently, anyone within a certain distance of you should get very frequent updates if they are close. If they are within a range of 50 from you, you get quite a few updates every second already.
|
Well, bandwidth really isn't an issue on my part. Neither is hardware. I am aware of the impact of performance it can cause. I'd love to have smooth running characters rather that jagged warpy player movement you see so frequently.
|
What I am wondering is just how low you can you go without a noticeable performance hit? How long ago was this piece of code written? When the project first started servers were much slower than they are now. What we are currently running on is dual Opteron 250's and a 100mbit connection with 3TB's of monthly bandwidth. Unless we get a huge playerbase I can't see us using 3TB in a month even if we half the update ratio. I guess what I am asking is, on current available hardware, or something close to my servers stats. Will halving the update ratio have a noticeable impact on the server with say...100 players online.
Server stats Exactly are: Dual Opteron 250's Windows 2003 Server Enterprise Edition 4 Gigs of Ram 10k RPM SCSI HD 100 Mbit Connection. ( Speed Tests I have run are roughly about 40000 kbit Down and 50k-60k kbit up on average ) |
Quote:
|
Maybe I am not understanding what you are saying. I see no jumpiness or lag on my server at all. Your server may be having another issue. Have you tried playing on other servers? Also, could you describe the jumpiness? It sounds like you might have a z-axis issue or something from what you guys are describing.
As for the code to do position updates, yes it is old, but it is also much bulkier than it should be. If anything, position updates need to be tuned down (less often) in some situations. I have looked into optimizing position updates, but I haven't had time lately to really work on it at all. It would probably take someone above my code level to really optimize them properly. I know that one of the revision of code releases included something that basically broke spawn updates, so if you guys are running that revision, you need to update your revision to stop it from happening. I don't recall exactly what release it was, but it was a little before revision 150. |
If update manager is being used on your server, you should be able to edit this code:
updatemgr.cpp Code:
//squared distances for each level Code:
//squared distances for each level |
You would probably get much better performance running on a Linux system too.
|
All times are GMT -4. The time now is 04:29 AM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.