Arma2NETMySQL Failing

Post Reply
dburke87
A semi-regular
A semi-regular
Posts: 21
https://www.youtube.com/channel/UC40BgXanDqOYoVCYFDSTfHA
Joined: Fri Feb 21, 2014 5:19 pm

Arma2NETMySQL Failing

Post by dburke87 »

Hey guys, up to this point I've been installing a separate instance of MySQL Community Server on each full-box machine I rent from NFO. Having a single, and maybe even two machines works ok with this setup, but eventually I think it's best to use a dedicated MySQL machine. So, I rented a 4-core VDS a few days ago to do just that. I removed the database servers from each of my machines, and now rely upon that single db server for each of my game servers. Problem is, every once in a while the Arma2NETMySQL extension will fail (timeout?), and never recover. It seems that the request will timeout, but then the extension can never rebound from this error. The individual game server ends up broken until a full restart. Here's the error log. Any ideas?

Code: Select all

Warning: 03:14:29 - MySQL error. MySql.Data.MySqlClient.MySqlException (0x80004005): Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.TimeoutException: Timeout in IO operation
   at MySql.Data.MySqlClient.TimedStream.StopTimer()
   at MySql.Data.MySqlClient.TimedStream.Read(Byte[] buffer, Int32 offset, Int32 count)
   at System.IO.BufferedStream.Read(Byte[] array, Int32 offset, Int32 count)
   at MySql.Data.MySqlClient.MySqlStream.ReadFully(Stream stream, Byte[] buffer, Int32 offset, Int32 count)
   at MySql.Data.MySqlClient.MySqlStream.LoadPacket()
   at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
   at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
   at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
   at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
   at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
   at MySql.Data.MySqlClient.ExceptionInterceptor.Throw(Exception exception)
   at MySql.Data.MySqlClient.MySqlConnection.Throw(Exception ex)
   at MySql.Data.MySqlClient.MySqlConnection.HandleTimeoutOrThreadAbort(Exception ex)
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
   at Arma2NETMySQLPlugin.MySQL.RunOnDatabase(MySqlCommand command, Int32 maxResultSize)
User avatar
kraze
Former staff
Former staff
Posts: 4362
Joined: Fri Sep 17, 2010 9:06 am
Location: California

Re: Arma2NETMySQL Failing

Post by kraze »

Where is the Arma server in relation to the mysql server? I do know that mysql doesn't handle latency well and when it's added to the mix it can cause some weird problems.
@Kraze^NFo> Juski has a very valid point
@Juski> Got my new signature, thanks!
@Kraze^NFo> Out of context!
@Juski> Doesn't matter!
@Juski> You said I had a valid point! You can't take it back now! It's out there!
dburke87
A semi-regular
A semi-regular
Posts: 21
Joined: Fri Feb 21, 2014 5:19 pm

Re: Arma2NETMySQL Failing

Post by dburke87 »

Both in Dallas. Both hosted by NFO. Game server is a full-box dedi, MySQL server is a 4-core VDS. From what it looks like, everything goes fine until there's a minor hiccup in latency, at which point the extension crashes and cannot reconnect without a game server restart. Any ideas? Would this be a MySQL issue, an ArmA (or Arma2NET extension) issue, or a networking/hosting issue?

EDIT: My knowledge isn't too technically sound when it comes to ip addresses and such, but both servers are even on the same subnet.
dburke87
A semi-regular
A semi-regular
Posts: 21
Joined: Fri Feb 21, 2014 5:19 pm

Re: Arma2NETMySQL Failing

Post by dburke87 »

I know people have had great success before with using external database servers, and I think that's quite often the setup when renting out a managed server elsewhere. It's certainly more ideal from an organizational and management standpoint to have each dedicated machine focus on its game servers and use a central, dedicated database server, rather than host a MySQL instance on every single machine. Do they need to be on the same LAN? Is this something NFO can setup for me if I have several machines in a single location?
Post Reply