English:
Hi everyone, I'm new here and recently started using Muddy's D2NT (great piece of work, thanks for that!). Unfortunately when I run it in the night I wake up in the morning to find all my bots logged out due to RD. :( So I sat down, analyzed the problem, drank coffee, tried stuff, wrote code, analyzed more, wrote more code... long story short, I give you:
RD Reconnect v1.0
It comes with absolutely no warranty whatsoever, has not been tested and runs on AutoScript - which can potentially do a lot of bad stuff to your system. It has no hidden virus or trojan or other malware but download and use it at own risk!
1. What is it good for?
RD Reconnect will automatically detect if you are a victim of the bnet timeban and attempt to automatically reset your IP address. This way, you get rid of the timeban and your bot can join again. It can NOT help you if:
- Your CD Key got (time)banned
- You want to do more than 20 games per hour
- You have a static IP address (depends on your internet provider and on whether you have access to your modem/router)
- You want to do anything else than resetting your IP on RD
- You don't know how to reset your IP and are not willing to ask Google about it
I will post a more advanced setup that includes a more flexible reconnection script based on the test automation tool Selenium during the upcoming days. For now you will need to find a ready-made reconnection tool for your modem/router!
(in case you want a more low-level technical explanation: When the bot detects RD, it saves a file. The AutoIt script monitors the D2NT folder for this file and in case it is found, a batch file is executed.)
2. What do I need?
You will need...
- An executable that resets your IP adress (google for your modem/router and "reset batch")
- AutoIt 3 ([Only registered and activated users can see links. Click Here To Register...])
- D2NT and a text editor (I tested it with [Only registered and activated users can see links. Click Here To Register...], any other D2NT Bot should work just the same)
- RD Reconnect (see attachment)
3. What do I do?
Just follow these easy steps:
- Locate your D2NT scripts folder. It should contain the Entry Points. Make a backup of the NTBot.ntj, open the file, press CTRL+F and search for "Realm Down". The part you find should look a little like this, might look different if you don't use Muddy's D2NT:
Code:
case 13: // Realm Down - Character Select screen
ControlData.click(ControlData.controls.characterSelect.button.exit);
MW_TimeoutDelay(RealmDownRetry*60*1000, location);
break;
...
Write the following block of code in between the case 13: (...) and whatever comes next:
Code:
var _fhandle = FileOpen("rd.nfo", 1);
if(_fhandle)
{
_fhandle.WriteLine("DOWN");
_fhandle.Close();
}
ControlData.click(ControlData.controls.characterSelect.button.exit);
Do NOT touch any of the other lines. Just insert the code. The result should look like this:
Code:
case 13: // Realm Down - Character Select screen
var _fhandle = FileOpen("rd.nfo", 1);
if(_fhandle)
{
_fhandle.WriteLine("DOWN");
_fhandle.Close();
}
ControlData.click(ControlData.controls.characterSelect.button.exit);
ControlData.click(ControlData.controls.characterSelect.button.exit);
MW_TimeoutDelay(RealmDownRetry*60*1000, location);
break;
Congratulations, you have managed to have your bot report RD! If you are using other entry points, you have to do the same for the corresponding .ntj files. Now on to...
- Edit the downloaded RD Reconnect AutoIt-Script (right click on it to edit). You need to configure the settings part. Do NOT edit the lower section. The only two things you have to edit are $d2nt_dir and $reconnect_script_file. For the first one, set the path of your D2NT Manager folder (full path with a backslash), i.e.
Code:
$d2nt_dir = "C:\Program Files\D2NT\"
For the second one, provide your reconnect script/batch, i.e.
Code:
$reconnect_script_file = "C:\reset.router.bat"
All other settings in the file are optional. You can ignore the "Selenium"-Settings, as I said more on that later. When you are done, proceed to...
- Start the script (right click and run). If all goes well, it will display a little tooltip in your system tray, next to the clock. If not, you will get an error message (hopefully) telling you what went wrong. Start the bot and rest assured that if your reconnection batch does what it should, you will no longer need to worry about getting home from work/school/party and see the main menu.
Feel free to post feedback or questions on the tool itself (NOT on how you find out if your IP address is static or where to get a reconnect batch for your modem). Hope it helps some of you!
Deutsch:
Hallo zusammen, ich bin der Neue und bin quasi frisch mit Muddy's D2NT eingestiegen (großartiges Teil, vielen Dank dafür!). Leider kommt es nach nächtlichen Bot-Runs immer mal zu einem bösen Erwachen nach einem RD/timeban. :( Also habe ich mich hingesetzt, das Problem analysiert, Kaffee geschlürft, rumprobiert, Code geschrieben, nochmal analysiert, noch mehr Code geschrieben... um es kurz zu machen, ich präsentiere euch:
RD Reconnect v1.0
Ohne irgendwelche Haftung/Garantie, ungetestet und als AutoIt Script - das heißt, es könnte viele böse Dinge mit eurem System tun. Es beinhaltet weder Trojaner noch Viren oder andere Malware aber seid euch bewusst, dass ihr es auf eigenes Risiko einsetzt.
1. Wofür ist es gut?
RD Reconnect erkennt automatisch, wenn euch das bnet mit einem RD bestraft und versucht in diesem fall eure IP Adresse zu ändern (resetten). Damit werdet ihr den Timeban los und euer Bot darf wieder ins bnet. Es hilft euch aber nicht, wenn:
- Euer CD-Key gebannt wurde
- Ihr mehr als 20 Spiele pro Stunde machen wollt
- Ihr eine statische IP Adresse habt (das hängt von eurem Internetanbieter ab und davon, ob ihr Zugriff auf Modem/Router habt)
- Ihr irgendwas anderes als IP reset nach einem RD machen wollt.
- Ihr weder wisst, wie ihr eure IP Adresse zurücksetzt, noch Google dazu fragen wollt
Ich werde in den nächsten Tagen eine etwas komplexere Anleitung für eine Konfiguration mit einem flexiblen Reconnect.Script posten. Die basiert auf Selenium, einem Tool für automatische Tests. Einstweilen müsst ihr euch selbst ein Script oder Tool für den Reset eures Modem/Router suchen!
(für die Freunde technischer Details: Wenn der Bot ein RD entdeckt, erstellt er eine Datei, die das AutoIt Script findet und daraufhin ein batch file ausführt.)
2. Was brauche ich?
Ihr braucht...
- Eine ausführbare Datei /ein Programm, dass eure IP Adresse zurücksetzt (googlen nach eurem Modem/Router und "reset batch")
- AutoIt 3 ([Only registered and activated users can see links. Click Here To Register...])
- D2NT und einen Text-Editor (I hab es mit [Only registered and activated users can see links. Click Here To Register...] ausprobiert, jeder andere D2NT Bot sollte auch funktionieren)
- RD Reconnect (Anhang)
3. Was muss ich tun?
Folgt einfach diesen einfachen Schritten:
- Öffnet eure D2NT scripts Ordner. Er sollte die Entry Points enthalten. Erstellt ein Backup von der NTBot.ntj, öffnet sie, drückt STRG+F und sucht nach "Realm Down". Der Teil, den ihr findet, sollte in etwa so aussehen bzw ähnlich, falls ihr nicht Muddy's D2NT benutzt:
Code:
case 13: // Realm Down - Character Select screen
ControlData.click(ControlData.controls.characterSelect.button.exit);
MW_TimeoutDelay(RealmDownRetry*60*1000, location);
break;
...
Schreibt den folgenden Block genau iZwischen die Zeile case 13: (...) und was immer in der Zeile danach kommt:
Code:
var _fhandle = FileOpen("rd.nfo", 1);
if(_fhandle)
{
_fhandle.WriteLine("DOWN");
_fhandle.Close();
}
ControlData.click(ControlData.controls.characterSelect.button.exit);
Die anderen Zeilen verändert ihr NICHT. Einfach nur den Code einfügen. Das Ergebnis sollte in etwa so aussehen:
Code:
case 13: // Realm Down - Character Select screen
var _fhandle = FileOpen("rd.nfo", 1);
if(_fhandle)
{
_fhandle.WriteLine("DOWN");
_fhandle.Close();
}
ControlData.click(ControlData.controls.characterSelect.button.exit);
ControlData.click(ControlData.controls.characterSelect.button.exit);
MW_TimeoutDelay(RealmDownRetry*60*1000, location);
break;
Glückwunsch, euer Bot berichtet jetzt einen RD! Wenn ihr mehr Entry Points habt, dann müsst ihr für jeden die entsprechende .ntj Datei anpassen. Und dann weiter zum...
- Anpassen des RD Reconnect AutoIt Skriptes (Rechtsklick drauf und Bearbeiten). Ihr müsst den Teil "Settings" bearbeiten. Auf KEINEN FALL die Sektionen darunter. Eigentlich müssen nur $d2nt_dir und $reconnect_script_file verändert werden. Beim ersten tragt ihr den Pfad zu eurem Ordner mit dem D2NT Manager Ordner ein (den gesamten Pfad mit einem Backslash \ am Ende!), z.B.
Code:
$d2nt_dir = "C:\Program Files\D2NT\"
Beim zweiten Tragt ihr den Pfad zu eurem reconnect script/batch ein, z.B.
Code:
$reconnect_script_file = "C:\reset.router.bat"
Alle anderen Einstellungen sind optional. Die "Selenium"-Einstellungen könnt ihr ignorieren, dazu wie gesagt ein anderes Mal mehr. Wenn ihr fertig seid, geht es weiter mit dem...
- Start von RD Reconnect (Rechtsklick und Ausführen). Wenn alles richtig eingestellt ist, bekommt ihr eine kleine Meldung unten neben der Uhr. Sonst erklärt euch eine Fehlermeldung (hoffentlich), was nicht passt. Startet den Bot und geht beruhigt zur Arbeit/Schule/Party, denn wenn euer reconnect Batch funktioniert, seid ihr vor RD erstmal sicher.
Ich freue mich über Feedback oder Fragen zum Tool selbst (NICHT wie ihr herausfindet, ob ihr eine statische IP habt oder wo ihr ein reconnect Batch findet). Ich hoffe, es ist hilfreich!