Server patch 2011-12-22

Status
Not open for further replies.

Darkelfv

Junior Member
Yea, I mean the nodes do change the players position to another computer, which means theres some data being transfered, and just notice a small "hic up" by doing this step, Is pretty damn good I think. The other option would be like Fatcamp says, a loading screen, image that instead in a pvp hunt ;)

400 times better (could be around 20-25s to 0.5-1s in avrg case), what I was refering to was that we have an avrage of that many packages updating items on each character changing node, which means theres a lot of data being updated and refreshed in your inventory slot if you have it opend (hence many crashes while having inventory open) And in the background verifuing all your items do cause your client to take a pause to "crunch" that many ticks in short time. The more players and items in the world, the worse this got for the main server, nodes you are on, and each player, so you can see this was bad, and it makes sence now when you said it was a lot better before, and got worse over time. This is why it got worse over time, amount of chars and items been increasing all the time since start.

Now with a new way of refreshing the system when changing nodes there is no packages nor refresh ticks on the client, therefore the node and server dont have to work like crazy anymore.

So its one of the biggest optimization we done for a long time, affecting all players and overall server performance. Some other features was tied to this system that made it even heavier which now also is optimized.

We do also have many levels in similar places as a node line, which means in a few case it is the level streaming you are noticing as a "hic up", and doesnt have to be the node change you are experiencing. We are going to work more on the level optimization later on when we have time for that to improve this in the entire world to make transition in areas even more smooth.

But I have to say we are very very happy right now with the progression of both nodes, overall server performance, and it should be even better for you when pvping across the nodes.

Thanks all for the great feedback, helping us to pinpoint these issues.

And again, Merry Christmas!

:)
Ok so here is my feedback on node lines.

Seriously you put the items transfer onto the computer that is handling the nodes. This is a design flaw and I would of fired the guy that thought of this. Time is money and your wasting computing power with this current solution. Not only that but its full of flaws and has high potential for duping of all sorts including server glitch duping.

Here is a suggestion for a better solution that probably could be worked into the current system.

There should be a dedicated server that handle the character stats, items, gear, etc. So the only information the node computers need is the position of the player. When a player dies then a carried list can be obtained from the master server (no lag on node lines but maybe a tiny bit of lag while the corpse loads.) A computer client that uses items or opens his inventory would be from that master character server and not from the node computer, thus not adding to node processing.

If someone is fighting, being hit or hitting someone else, the only information that node computer needs is the attackers stats and weapon, or the defenders stats and worn gear. This could be streamed in to the node computer from the Master server to the node computer when 2 people get close enough to load the models. The items carried still has no place to be loaded or transferred to any node computer, Same with character stats, looks and so on. This should of been handled by a character server that gives out as needed to the node computers and clients. Not each node containing a current full data set of the character. More over when players see each other the combat place holders can be updated on the node, and if a player changed weapons then it could be updated again. Only containing relevant data and not anything extra.

Transferring that much data between the computers every time you cross a node will just increase the over all load on the entire system and will make everything use up more processing and memory usage then needed. Wasting bandwidth, memory and processing power. not to mention the node overall lag from new people entering the zone because it has to load all of the character data for everyone will just make that node that is already handling combat be overloaded.

However this still would cause issues on node lines if two people from opposite directions meet on the node line and start combat. This could be done with a simple buffer system in which a zone is determined to be controlled by one or the other nodes and while these 2 people get close to each other at the node edge, a flag would go off and both would be transferred to the same node until they left each others range or combat was finished. (Talking about a sight range zone larger then the cross overlap of the node zones) This would allow people who are coming from opposite sides to be in the same node to allow them to fight with out 0 damage or desync. 2 people would be a example as it should work for anyone who comes to a node edge near the same time.

A redesigned system suggestion that would use less then current processing power and bandwidth but allow for a much smoother overall experience for all parties.

The better solution would be a dynamic node solution that allowed for computers to handle nodes based on population groups, and deallocating processing power for nodes not in use. Or combining nodes that only have a few people in them on the fly.
This would mean

Character Server - Maintains the character stats, items in the banks, current items carried, worn, in hand(weapons)

Location server - This would simply track the locations of each player and reassign each player id to a new node server based on relative locations of other players. Heck you could add some simple loc checks to make sure people are not speed hacking or teleporting , and split any other menial tasks on to this server load, like mail handling, zone ownership, taxes, and votes etc...

Node servers - would handle any player to player interactions in a given relative area, based population concentrations. If you had dynamic node support the nodes could be combined to allow multiple servers to work on the same group of people, Say in a situation if the entire server is in a war in one location, say wisent hill(old name) then all the node server would work together to make sure the player interactions in that location would not ever lag.

This would also mean that nodes would not have fixed locations, like the infamous bakti town that is sitting on a cross section of nodes that have caused grief and bugs throughout the history of bakti. This system would allow for maximum computing power to be applied to any combat situation and divided among any groups that might be fighting at the same time in different locations with out having any node loading when traveling. A group fighting over multiple locations would not have nodes to cross as the node handling the group would be moving with them and incorporating any person that came into that group, or moving them into a new node if they left the combat far enough away. This would ensure no node loading while in combat.

Both me and my brother got fed up with having to find each other after crossing nodes lines just with normal traveling. So Big kutos for fixing the node lag, however still having the items transferred with the player on to each node crossing is just ridicules and should be the first thing you guys redesign. Your system is currently not optimized and really explains all those duping bugs in the early history of mortal online.
Thanks for reading, keep up the progress on Mortal!
 

ThaBadMan

Exalted Member
There are more than 200 people playing the game?
Well right before christmas we had:
RUS/Odin: around 50 people.
Fury/SPAR: 30 people.
ES: prolly around 30 people.
AQ: 30 people.
FEAR: 30 people.
Small guilds combined(DC/Prae/Wessex/Koto/old Ely/FOR/ and more): 50 people.

That is 220 pluss perhaps 50 unguilded around and about.

Numbers might not be accurate just a harsh roundabout of what was seen around and about before christmas. But i am sure there was at that time more than 270 players playing MO daily or almost daily.
 

ThaBadMan

Exalted Member
Plz recheck your info, we never had such numbers.
U had almost 50 people at the Fury siege, but again as i said it might not be totally accurate, and i said around wich means +- of what i said.

But u had so many it was no use to count, i mean u had 7 guys on me, while almost all other guys in my group also had 5-8 guys on them, so minimal numbers u had at that fight was 40. So im not that far from ur real numbers.
 

Pluro

Cronite Supporter
Well right before christmas we had:
RUS/Odin: around 50 people.
Fury/SPAR: 30 people.
ES: prolly around 30 people.
AQ: 30 people.
FEAR: 30 people.
Small guilds combined(DC/Prae/Wessex/Koto/old Ely/FOR/ and more): 50 people.

That is 220 pluss perhaps 50 unguilded around and about.

Numbers might not be accurate just a harsh roundabout of what was seen around and about before christmas. But i am sure there was at that time more than 270 players playing MO daily or almost daily.
Hey u forgot envy, which is about 20 currently.
 
Node question:

Why not use a dymanic update system that updates all of the servers with relevant only information all of the time?

E.g.,

You outfit yourself and each time you equip something, not only the server you are on gets the update, but all servers near you. That is, all of the servers you could possibly cross to. That way when you cross the update is already finished. This could be accomplished by background updating, that is, allowing servers you are not near, but could be near in a short time, to update as server hardware allows for it. That way everything is constantly being updated, but not all at the same time, and your character stays updated all of the time on all relevant servers.

In summary, when you cross a node line, the information is already there. So, there is no loading or passing information when you cross, only the server change.
 
Tested and verified, it works, you do notice a small hickup when passing a node line, but you wont crash or freeze on them anymore :)

We have one thing left with node lines, in some rare cases you wont get/give damage when running on a ghost zone, we may have a fix for this a bit later. It shouldnt affect you much since its only a delay on the intrest list untill you can pass damage again.

So it seems like a good update on the nodes!
I dont know about that, now i just seem to have random freezes in the zone instead, thought it was my graphics card. as it is bad! But my entire group got the same with videly ranging hardware.

I also tried to run over a node and my gui went inresponsive and i ran straight into a belbus spawn with a 5min stun, smashing my keyboard SV you owe me 100k meat and a new g110!

Wouldnt say its fixed but its working better and the game has become alot more enjoyable..

But when the GUI gets fixed and the towns are actually safe you will see a big increase in players no doubt.

On a sidenote thieving doesnt really seem to work atm, why cant i call a guard on a guy who i know just stole from me?

I mean its fair he isnt getting grayed to everyone, but atleast give me the chance to kill the fucker without getting raped by some invisible mob..

Like i propose a blue gray, so whenever you steal anything the one you stole from can guard you in the next 2 mins.

Would make it alot more enjoyable on both sides of the fence, dont get me wrong i do love the feature, there is just way to little consequence for making a thief..

Thanks for understanding.
 
Node question:

Why not use a dymanic update system that updates all of the servers with relevant only information all of the time?

E.g.,

You outfit yourself and each time you equip something, not only the server you are on gets the update, but all servers near you. That is, all of the servers you could possibly cross to. That way when you cross the update is already finished. This could be accomplished by background updating, that is, allowing servers you are not near, but could be near in a short time, to update as server hardware allows for it. That way everything is constantly being updated, but not all at the same time, and your character stays updated all of the time on all relevant servers.

In summary, when you cross a node line, the information is already there. So, there is no loading or passing information when you cross, only the server change.
Hmm dont think to put in more strings would help the performance to be honest, this would just make the servers alot more laggy than they already are..
 
Hmm dont think to put in more strings would help the performance to be honest, this would just make the servers alot more laggy than they already are..
It would be a "node prediction" sort of thing. Background as server CPU time permits and then live when you get close to a node. Those around you would get the update before you go over the node and then the information would move outward as server clock permits.
 

Grike

Senior Member
Nice job Star Vault keep them coming! +1
 

Raknar

Senior Member
Whats with the damn necro of patch notes?
 

ragnarog

Junior Member
everyone wants patchs. better an old one than no one i guess !
 

kranick

Senior Member
stop post lol admin pls close this tread
 
Status
Not open for further replies.
Top