Jump to content
Mojo (DayZ)

Do *NOT* Spam Connections

Recommended Posts

Connection spamming does not get you into the game faster. It gets you into the game slower. It also crashes servers.

Every single server out there running DayZ runs two support programs for it, hive and hiveauth. These connect to the same DayZ master servers. They process the client connections and save your progress.

"Trying" another server does not get you into the game faster. It is the video game equivalent of getting frustrated that you need to wait in line at the roller coaster, so trying to run to the line for the tea cups, then getting frustrated that you have to wait in line there, so running back to the line for the roller coaster, only to find that you ONCE AGAIN are at the back of the line. What, exactly, did you think would happen?

Only, it's worse, because you know what? You aren't just leaving the line. You're leaving a dead husk behind. That husk will move with the line and need to be processed along with everybody else. The master servers will need to be informed that your connection has dropped and now they need to process that. You don't just stop taking space, you create more space in the queue you take up.

IN OTHER WORDS, YOU ARE COMPOUNDING THE VERY PROBLEM YOU ARE COMPLAINING ABOUT.

On top of this, it is extremely unhealthy for servers to be subjected to this many connections. During primetime & weekends, servers can be subjected to more connect/disconnects than they will be subjected to over a 6-10 hour server instance sanity period in about, oh, ten to twenty minutes.

1. You ruin the game for yourself and accomplish nothing.

2. You ruin the game for other players by forcing them to wait longer or crashing the servers they're on.

3. You really, really piss off the administrators of the servers who are forced to deal with the mess you cause while simultaneously trying to calm you the fuck down.

The internet is not magical. Every server shares the same network, and communicates with the master database in the same way. You do not "connect faster on Server X" because yesterday, or the day before, that server worked fine. When that server was working fine, so was every other server. You will find that typing *sigh waiting for server response AGIAN* is, surprisingly, because every server is subjected to this at the moment.

We, being Owl and myself, have begun investigating ways to sync repeated connection spammers across multiple servers to weed out the worst culprits of this problem. I will gladly share our solution with the other administrators, and in all likelihood any admin worth his salt will gladly take that solution, and there will be many of you out there trying to play a brick on five or ten servers because your connections will be outright refused by the actual, physical box or VPS running the arma2oaserver instances.

Is it a solution I want to implement? No. I'd rather be playing with my dog or listening to music or making love to my wife or even playing and having fun with the vast majority of good, decent players who understand that as frustrated as they might be at the moment, so is everybody else. But I have a new responsibility now, and you (you being the 1% impatient children who throw fits and temper tantrums and ruin it for the 99% of the other players who are calm and patient and understand that the Internet isn't magic) are making me clean up your mess. It's much, much easier to ensure you don't have the ability to cause that mess in the first place.

BUT WHAT IS CONNECTION SPAMMING?

Connection spamming is when you spam a server with actual connections, ie: connect - disconnect - reconnect - disconnect - reconnect.

Enter spamming is when you break your thumb hitting spacebar or enter just trying to get into a server. Is that the best? No. You're wearing out your keyboard. But when you do that all you're doing to the server is going "Hi, can I join?" and the server goes "no."

In a nutshell, when you connect spam, there's an entire process after the server says "yes you can join" that it makes sure the connection is compatible, the so-called client/server handshake process (ie: you're not trying to connect with an altered copy of the client or something ridiculous like, say, a VLC browser plugin running on Google Chrome or something), then you commit your connection (a successful handshake), are given the player info and all that. At this point the hive programs, which are two external executables which hook the server executable, pick up on that and go through the routine of getting information from the master server, the central database, whatever you want to call it, returns that information to the server, attempts to load you into the game, and executes unit initialization functions that give you your gear and whatnot. Tada, you've spawned.

It's trying to do this all to create an avatar for you in a server instance for a server program that's clunky, and, despite the entire server admin bases' wishful thinking, extremely finicky with how it threads itself in cores (basically max out AI thread, max out core usage, move to next core), hilariously greedy with memory over time, and operates perhaps one of the most esoteric and picky virtual machines in history. It also has limitations of just how much of your resources it can use, no matter how much overhead you actually have (which is why you will very rarely see a server break the 50-player limit, with server admins preferring to roll out new instances -- for example, on a solid server, it's more stable to run 4 50-player instances than it is to run 1 75-player instance).

Share this post


Link to post
Share on other sites

then perhaps hive needs to be re-written to allow people into a game BEFORE it gets thier info's just have it stick them in some kind of arena while they wait with some crap gear so they can hunt eachother then throw them into the main area once it knows who they are

thats what i would do.

Share this post


Link to post
Share on other sites

Sorry Mojo, I disagree with your advice. Both the "Loading character data" and "waiting for server response" refer to issues with Hive. Hive can be down for everyone, or experiencing high load which will cause intermittent problems world wide. This however, is not that common.

What is more common, is the local server to have issues of it's own, commonly caused by Hive and HiveAuth locking up, or trying to process corrupt data. In those cases (i.e the majority) it's wise to find another server. More recently, some servers didn't make it on the IP whitelist, which also caused issues just for those servers.

So, in most cases, moving to another server is usually a better idea, then continually spamming the same server.

Most users are new, so admins should be putting a MOTD that explains the long wait periods. We do that on our servers, stating it can take 3-5min, otherwise to try to rejoin.

These 10+ minute wait times are nothing but superstition. It does NOT take that long to load your data, and if it does, there's something wrong with the server 9/10's and not Hive.

Share this post


Link to post
Share on other sites

Thank you for the information....but let us get something straight.

99% of the players do not know how things work on the back end and a good chunk of those players wouldnt even understand the technicalities to begin with it to begin with. The people who would understand this, prior to your post and as far as I know, did not have access to this information and could only hypothesize how it works. Therefor, a good majority of people are lead to assume that because they could easily get into one server a lot quicker than the one they had previously waited 20 minutes....or more....to get into, that server hoping like this did not have any affect on the master HIVE server. I am very certain that that 1% you are immaturely and disrespectfully calling "impatient children who throw fits and temper tantrums and ruin it for the 99%" are actually 99% of players. In fact, this was posted on the dayz developer twitter:

From the DayZ Dev Twitter Account:

Try another server. We had security issues so main system rebooted. So some server admins haven't caught up. Try another server

The community was directed from the dev team to try other servers.

I do understand that, being in the know of how things work on the back end, that seeing this could be frustrated but you obviouly have not considered the fact that most people do not know how it works nor do they really care as they want to try out this new mod that all the major gaming websites having been making front page articles about. I would suggest you acquire the following before making any future posts regarding technical issues DayZ and its network are having:

http://www.merriam-webster.com/dictionary/tact

Thank you for your efforts that you have put forth into DayZ and in the future, try to be less of an asshole to the DayZ community.

Do *NOT* Spam Connections

Connection spamming does not get you into the game faster. It gets you into the game slower. It also crashes servers.

Every single server out there running DayZ runs two support programs for it, hive and hiveauth. These connect to the same DayZ master servers. They process the client connections and save your progress.

"Trying" another server does not get you into the game faster. It is the video game equivalent of getting frustrated that you need to wait in line at the roller coaster, so trying to run to the line for the tea cups, then getting frustrated that you have to wait in line there, so running back to the line for the roller coaster, only to find that you ONCE AGAIN are at the back of the line. What, exactly, did you think would happen?

Only, it's worse, because you know what? You aren't just leaving the line. You're leaving a dead husk behind. That husk will move with the line and need to be processed along with everybody else. The master servers will need to be informed that your connection has dropped and now they need to process that. You don't just stop taking space, you create more space in the queue you take up.

IN OTHER WORDS, YOU ARE COMPOUNDING THE VERY PROBLEM YOU ARE COMPLAINING ABOUT.

On top of this, it is extremely unhealthy for servers to be subjected to this many connections. During primetime & weekends, servers can be subjected to more connect/disconnects than they will be subjected to over a 6-10 hour server instance sanity period in about, oh, ten to twenty minutes.

1. You ruin the game for yourself and accomplish nothing.

2. You ruin the game for other players by forcing them to wait longer or crashing the servers they're on.

3. You really, really piss off the administrators of the servers who are forced to deal with the mess you cause while simultaneously trying to calm you the fuck down.

The internet is not magical. Every server shares the same network, and communicates with the master database in the same way. You do not "connect faster on Server X" because yesterday, or the day before, that server worked fine. When that server was working fine, so was every other server. You will find that typing *sigh waiting for server response AGIAN* is, surprisingly, because every server is subjected to this at the moment.

We, being Owl and myself, have begun investigating ways to sync repeated connection spammers across multiple servers to weed out the worst culprits of this problem. I will gladly share our solution with the other administrators, and in all likelihood any admin worth his salt will gladly take that solution, and there will be many of you out there trying to play a brick on five or ten servers because your connections will be outright refused by the actual, physical box or VPS running the arma2oaserver instances.

Is it a solution I want to implement? No. I'd rather be playing with my dog or listening to music or making love to my wife or even playing and having fun with the vast majority of good, decent players who understand that as frustrated as they might be at the moment, so is everybody else. But I have a new responsibility now, and you (you being the 1% impatient children who throw fits and temper tantrums and ruin it for the 99% of the other players who are calm and patient and understand that the Internet isn't magic) are making me clean up your mess. It's much, much easier to ensure you don't have the ability to cause that mess in the first place.

Share this post


Link to post
Share on other sites

Mojo, your lack of evidence sums your entire thread up to be total bull. You have no evidence, just a load of claims. What? You really think people will actually magically stop spamming servers because you put forth an opinion based on no evidence? Waste of a thread, sorry.

Share this post


Link to post
Share on other sites

Thank you for snarkily jumping down our throats. I can assure you that at least one user had no idea that having patience for 'waiting for server' would eventually clear the problem. I spent forty five minutes this evening waiting before giving up, and the last ten minutes were spent dropping to lobby and re-joining, because I came to the conclusion that the time spent waiting for server was not a queue, but a refused connection that had frozen.

Very few people playing this game have any idea how the backend works.

Share this post


Link to post
Share on other sites

Yeah the average wait time for me is around 5 seconds, and the longest I've ever seen work out is around 1 minute. Anytime I've ever waited 2mins, 5mins, 10mins, or 15mins, it has never worked out as it seems to be a server-side problem.

I think giving it 3mins of wait time before moving on, is a fairly good rule of thumb. That is equivalent to around 40x the normal time it takes, which I definitely wouldn't consider to be impatient spamming.

Share this post


Link to post
Share on other sites

Most users are new' date=' so admins should be putting a MOTD that explains the long wait periods. We do that on our servers, stating it can take 3-5min, otherwise to try to rejoin.

[/quote']

MOTDs are displayed far too fast and, once displayed, are gone. I'm a hands-on admin, I prefer to sit with my players either in RCon or on the server itself, where I can repeat myself to new joiners. Most players are extremely cooperative and patient, and follow advice. Is five minutes normal? Is ten minutes normal? If I'm in a forest/ocean, should I reconnect?

A small minority, to whom this post is directed, cannot and will not listen. Waiting 1 to 2 minutes and then disconnecting and reconnecting is not being cooperative, it's being a problem-compounding goof.

Mojo' date=' your lack of evidence sums your entire thread up to be total bull. You have no evidence, just a load of claims. What? You really think people will actually magically stop spamming servers because you put forth an opinion based on no evidence? Waste of a thread, sorry.

[/quote']

Oh here you go then. Here's what my server normally puts out under regular load:

Dx5Ia.jpg

Here's what it was putting out when I took a screenshot of it earlier, when people were connection spamming the living shit out of the server:

xlwCm.jpg

When packets per second shoots up by a factor of about 6.5, whether or not you want to believe that connection spamming is "bull" and does not cause that, sorry snowflake, but it does. I can watch it cause that.

If you really want, I can post up detailed throughput, DNS requests, show you where those packets are going. That there is a quick roadmap. At heavy load, packets/s can hit around 12k as a rough guesstimate of just what my server is pumping out. It can dip fairly low as well.

When all of a sudden you're hitting 45k and you can go into the server and watch a wall of disco/reco messages, you can be damn sure that when you open up the detailed reports and start filtering the results, you're going to a) be watching your server go absolutely apeshit and b) the server is going to be making whatever server it's trying to communicate with go absolutely apeshit as well.

Share this post


Link to post
Share on other sites

You can repeat the MOTD warnings several times, change the MOTD Interval to change the frequency of messages, and use blank lines to space them apart further. Use special characters and spaces to make the warnings more visible between the flood of global chat spam.

It seems you're being proactively lazy about educating your users. Do you really think making a topic here will get read by the hundreds of noobs joining your server?

Also, Join-In-Progress (JIP) has always caused spikes in bandwidth consumption with A2 servers. Alter your min/max bandwidth settings if it's a concern, it will also result in dsync but conserve your bandwidth usage. I do not disagree that continually joining causes issues for the server, but asking players to just 'keep waiting' won't solve anything except have players filling up your slots for 20+ minutes and ruin their gaming experience.

Share this post


Link to post
Share on other sites

Mojo,

I completely agree with you. I too saw the same issues happening with my Denver 1 server. I managed to make it onto the white list for the SQL server and now i've been removed for some strange reason and now im trying to make it BACK onto it. Its just a living nightmare for us server hosters right now. Plus we have to deal with all the mindless assholes who think they know how to run servers from a client computer with no knowledge at all on how this all really works. For the people calling Mojo a liar. Please do not join Denver 1 server. You are obviously just trouble makers and i'd really hate to waste my time banning you.

Regards,

Dizzymagoo

Share this post


Link to post
Share on other sites

Thank you Mojo for your post, you've confirmed the issue I've tried to tell users about, they don't seem to listen tho... I would like a server that if you disconnect and reconnect so many times in say 5 minutes that it will ban you for 15 minutes to try and give other patient users a chance!

Share this post


Link to post
Share on other sites

Thank you Mojo for your post' date=' you've confirmed the issue I've tried to tell users about, they don't seem to listen tho... I would like a server that if you disconnect and reconnect so many times in say 5 minutes that it will ban you for 15 minutes to try and give other patient users a chance!

[/quote']

I just started watching all the IP's that connect and disconnect the most and started adding them to ban list. Simple solution :)

Share this post


Link to post
Share on other sites

Mojo - you don't need to be so disrespectful about it. I think people would be more accepting of this proposition if you would be nice about it.

Share this post


Link to post
Share on other sites

Mojo - you don't need to be so disrespectful about it. I think people would be more accepting of this proposition if you would be nice about it.

Being nice goes no where on the internet. People just ignore it. I've tried explaining this issue to so many people already and they didn't get it until I was an ass about it.

Share this post


Link to post
Share on other sites

I'm actually astounded that people are effectively saying 'Well I didn't know this before, so I won't bother accepting it now!"

Thankyou Mojo for posting this.

Share this post


Link to post
Share on other sites

This right here. I look forward to never donating to his server, where as had he been mature and adult in his explanation, Id send a minimum $20 right now. I have already dontated a total of $115 to servers with decent human beings as admins.

Mojo - you don't need to be so disrespectful about it. I think people would be more accepting of this proposition if you would be nice about it.

Share this post


Link to post
Share on other sites

You can repeat the MOTD warnings several times' date=' change the MOTD Interval to change the frequency of messages, and use blank lines to space them apart further. Use special characters and spaces to make the warnings more visible between the flood of global chat spam.

It seems you're being proactively lazy about educating your users.[/quote']

I don't think sitting in the server with them, patiently explaining myself, or inviting them to join our TeamSpeak and addressing their problems one-on-one with something more than a generic MotD that cannot interact or engage in specific troubleshooting is being, in any way, lazy.

Especially considering the psychology of the average person, which is to only seek a solution to a problem once that problem has occurred for them and otherwise not be aware that it's a problem at all.

Do you really think making a topic here will get read by the hundreds of noobs joining your server?

No. In fact' date=' I know that the type of user who will repeatedly spam connections to a server is precisely the type of person who will not actively seek out solutions to their problem. All the same, as a responsible administrator, I feel it's necessary to do my due diligence and use the closest thing we have to a gazette or paper of record to clearly illustrate the problem and consequences for compounding that problem rather than slough my duty off on a Message of the Day.

Also, Join-In-Progress (JIP) has always caused spikes in bandwidth consumption with A2 servers. Alter your min/max bandwidth settings if it's a concern, it will also result in dsync but conserve your bandwidth usage. I do not disagree that continually joining causes issues for the server, but asking players to just 'keep waiting' won't solve anything except have players filling up your slots for 20+ minutes and ruin their gaming experience.

It's also caused bandwidth issues in ArmA 1 servers. I've been intimately familiar with the Real Virtuality engine's usage of bandwidth, which isn't the only problem. There's it's notoriously leaky memory, its absolute lack of garbage collection, the fact that the previous RC server executable is not as stable as the recent beta builds, and a whole slew of concerns that are, at least local to the hosting server, compounded by repeated disconnects and reconnects. Bandwidth itself isn't a problem -- that barely scratches what we have available. The same goes for memory, processor, and disk usage. What is a problem is that what we have available is irrelevant in terms of what the particular server instance itself considers sanitary.

In other words, you can have a Ferrari, but if your grandma's behind the wheel, that thing won't break 20. And if you force her foot on the pedal, all you're going to get is a horrendous crash and a few dead pedestrians. Just to make that analogy perfectly clear, arma2oaserver.exe is grandma, our machine is the Ferrari, the impatient, freaking-out few are the ones jamming her foot on the gas, and the dead pedestrians are my other players.

I won't permit 1/10th of my players to ruin the experience for the other 9/10ths of the players on my server, regardless of if its chat harassment, hacking/exploiting, or behaviour damaging to either the server or the server support applications. Period.

Share this post


Link to post
Share on other sites

So just to clarify are you referring to assholes that actually connect but then get tired of waiting for it to load or assholes that click join, get a message that maximum players has been reached, then immediately click 'join' again?

Share this post


Link to post
Share on other sites

Stickied, because I think the more people that see this, the better.

For the record Mojo, I would also rather be playing with my dog or listening to music or making love to your wife.

wait

Share this post


Link to post
Share on other sites

Mojo' date='

I completely agree with you. I too saw the same issues happening with my Denver 1 server. I managed to make it onto the white list for the SQL server and now i've been removed for some strange reason and now im trying to make it BACK onto it. Its just a living nightmare for us server hosters right now. Plus we have to deal with all the mindless assholes who think they know how to run servers from a client computer with no knowledge at all on how this all really works. For the people calling Mojo a liar. Please do not join Denver 1 server. You are obviously just trouble makers and i'd really hate to waste my time banning you.

Regards,

Dizzymagoo

[/quote']

Thank you Mojo for your post' date=' you've confirmed the issue I've tried to tell users about, they don't seem to listen tho... I would like a server that if you disconnect and reconnect so many times in say 5 minutes that it will ban you for 15 minutes to try and give other patient users a chance!

[/quote']

I'm actually astounded that people are effectively saying 'Well I didn't know this before' date=' so I won't bother accepting it now!"

Thankyou Mojo for posting this.

[/quote']

And this is the crux of it guys. Myself, and these guys, can watch the effects of these freak outs.

When I say connection spamming, I'm not talking about disconnecting after 20 to 30 minutes. I'm not talking about needing to log off because you need to take your aunt to church.

I'm talking about connection spamming.

I can watch my server usage freak the fuck out. I can switch over to session 0 and watch hive and hiveauth start to spew insane SQLSTATE[HY000] Error: THE DATABASE JUST WENT NUTS messages while the service manager attempts to figure out whether it should attempt to recover it gracefully or just let it run.

However these three folks above have it set up, they can see that as well. Whether they're running their stuff as services in Session 0, or using automatic recovery, whether they're using WireShark to filter packet usage or use Resource Manager to take a look at bandwidth usage go from a flat plateau at 10mbps up to peaks and valleys of around 50 or 100 mbps, or just log into their server control panel, whether they're watching through RDP or VNC, we, the admins, can watch our instances put a gun in their mouths and just give up.

Most of our players, I'm sure they can tell you, are very understanding when you explain to them about waiting, it's not as fast as getting into a regular online game or even logging into an MMO. Most.

This post isn't addressed to the 'most'. It's addressed to the few. The very naughty few.

Share this post


Link to post
Share on other sites

For the record, I don't host a DayZ server, but I've hosted numerous other servers for other games over the course of my time. (Red Orchestra, Day of Defeat, etc.)

I think a little clarification on what 'spamming connections' is would be welcome for most ignorant players though, Mojo. Some may think that merely refreshing the server list is connecting on the same level as requesting a response. (Seriously. I've heard that before.)

What's more, everyone who reads this thread: Go out and tell the people!

Share this post


Link to post
Share on other sites

So just to clarify are you referring to assholes that actually connect but then get tired of waiting for it to load or assholes that click join' date=' get a message that maximum players has been reached, then immediately click 'join' again?

[/quote']

The former, not the latter. I suppose that is legitimately ambiguous.

Connection spamming is when you spam a server with actual connections, ie: connect - disconnect - reconnect - disconnect - reconnect.

Enter spamming is when you break your thumb hitting spacebar or enter just trying to get into a server. Is that the best? No. You're wearing out your keyboard. But when you do that all you're doing to the server is going "Hi, can I join?" and the server goes "no."

In a nutshell, when you connect spam, there's an entire process after the server says "yes you can join" that it makes sure the connection is compatible, the so-called client/server handshake process (ie: you're not trying to connect with an altered copy of the client or something ridiculous like, say, a VLC browser plugin running on Google Chrome or something), then you commit your connection (a successful handshake), are given the player info and all that. At this point the hive programs, which are two external executables which hook the server executable, pick up on that and go through the routine of getting information from the master server, the central database, whatever you want to call it, returns that information to the server, attempts to load you into the game, and executes unit initialization functions that give you your gear and whatnot. Tada, you've spawned.

It's trying to do this all to create an avatar for you in a server instance for a server program that's clunky, and, despite the entire server admin bases' wishful thinking, extremely finicky with how it threads itself in cores (basically max out AI thread, max out core usage, move to next core), hilariously greedy with memory over time, and operates perhaps one of the most esoteric and picky virtual machines in history. It also has limitations of just how much of your resources it can use, no matter how much overhead you actually have (which is why you will very rarely see a server break the 50-player limit, with server admins preferring to roll out new instances -- for example, on a solid server, it's more stable to run 4 50-player instances than it is to run 1 75-player instance).

Share this post


Link to post
Share on other sites

Thanks for clarifying. Just dont want to get IP B7 :)

Share this post


Link to post
Share on other sites

I edited your OP and put in your description of what Connection Spamming actually is. :)

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×