sábado, 26 de mayo de 2012

Error 3007 y KeepAliveTime

Saludos!

Primero vino el error 37, luego el 3007, parece que son números mágicos en plan la serie de Lost.

Buscando información sobre este error que me llevaba dando guerra estos días (no aguantaba conectado seguido más de 10 minutos), y de leer bastantes opiniones diversas en los foros de battlenet del diablo3 (que si no tenía los puertos abiertos, que si mi router era incapaz de mantener una conexión estable... (curioso cuando he jugado con este router al world of warcraft durante casi 2 años sin ningún tipo de problema)), al final encontré lo siguiente:

http://eu.battle.net/d3/es/forum/topic/4211011257

En este enlace mantienen que cuando cierto tipo de router (principalmente aquellos destinados a fibra óptica), le llega que el estado de la conexión activa está "ausente" o "idle", directamente cuelga la conexión. Me he metido en mi router, he mirado la configuración del mismo y no he visto nada al respecto. El router que Telefónica me uso es : Comtrend gigabit 802.11n.

Dentro de este mismo enlace, estaba este otro:

http://us.battle.net/d3/en/forum/topic/5151716198#1

En resumen, es necesario configurar el parámetro KeepAliveTime y ponerle el valor de 60000 (en decimal). Esto le dice al ordenador que en la conexión, antes de devolver un tiempo de espera agotado, también conocido como "timeout", espere 1 minuto (60000 milisegundos, 60 segundos).

La mayoría de los routers de ADSL de uso convencional, tienen muy poca memoria, y para evitar quedarse sin memoria, lo que hacen es eliminar todas aquellas conexiones que estan sin usar más de 30 segundos.

Si no estas conectado a un canal, y si tu conexión de datos es eliminada por tu Router de ADSL, el juego intentará enviar un ping. Será necesario reestablecer la conexión, lo cual dice al servidor que te has desconectado, y te elimina del juego con el resultado del error 3007. Estupendo :P.

Al unirte a un canal de chat, tu ordenador esta constantemente enviando y recibiendo datos en ese puerto. Según hilos y mensajes que he leído al respecto, tanto la comunicación por chat como la conexión de datos al propio juego la realiza por el puerto 1119 (uno de los que tiene que estar abierto tanto para TCP como para UDP).

Para resolver esto tenemos realmente dos opciones:

1) Configurar el router para que funcione como Host DMZ, y otorgarle al router las responsabilidades de la NAT (algunos routers permiten "bridge mode").

2) Utilizar Regedit ( y a partir de aquí con pinzas y mucho cuidado) para cambiar el valor de "TCPKeepAlive". Esta es la opción que he tomado yo. Yo en mi casa tengo Trio de Imagenio, y de la configuración del router dependen los canales de la televisión por Imagenio (tv por cable), así que por precaución le tengo bastante "miedo" a tocar el router y con ello fastidiar todo lo demás.

De modo que prefiero tocar la configuración del registro de mi ordenador (que también es peligroso, pero si la fastidio el fallo solamente estará localizado en mi equipo).

Para esto tenemos que:

Ir hasta HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters

Deberiais de estar viendo las claves DataBasePath, Domain, Hostname, etc... en el lado derecho de la ventana de regedit.

Si una de las claves no es KeepAliveTime , en el menú edición -> Nuevo -> Valor de DWORD (En el caso de que esteis usando windows7 como es mi caso, yo he usado la de 32bits).

Nombrad la nueva clave : "KeepAliveTime"

Haced doble click en la nueva clave.

Introducir el valor ea60 (si es hexadecimal) o 60000 (si es decimal) y hacer click en OK.

Salir de regedit.

Reiniciar el PC

Esto fijará KeepAliveTime a 60 segundos. Y no debiera de daros nunca más el error 3007. A mí con esto se me ha solucionado.


Un saludo y suerte por las tierras de Azeroth! :)

2 comentarios:

Æsir dijo...

Otra solución al problema del 3007:

http://eu.battle.net/d3/es/forum/topic/4309851440

Hyper dijo...

Buenas, pues como me encanta trastear voy a toquetear el router nuevo de Telefónica (despues de quemar literalmente el anterior), un flamante Homestation de ADB (según he leido por ahí cuesta unos 39 €, todo calidad, para empezar le quité el servicio UPnP que terminaba "atorando" la DSL en pocas horas...)
Le diré a un colega que se pase por aquí, que me tiene frito a "whisps" continuamente para evitar el dichoso error XD.
Un Abrazo. Hyper.