MaxNet

Kommentare anzeigen Worklog abonnieren
Gehe zu Seite Zurück  1, 2, 3  Weiter

Worklogs MaxNet

Riesenfortschritte I

Dienstag, 6. Juli 2010 von Thunder
Hallo,

ich habe jetzt in letzter Zeit viel an MaxNet verändert - die Bugfixes hielten sich in Grenzen. Vor Allem hagelt es neue
Features:
  • ignorieren von Usern (serverseitig, *)
  • angeklickte Links werden in anderer Farbe angezeigt
  • Usernamen von anwesenden Benutzern in Texten werden hervorgehoben
  • der Login-Prozess wurde erweitert und ein Bug wurde dort gefixt (*)
  • der Spamschutz wurde eingebaut (wird aber noch erweitert)
  • Probleme mit dem bannen wurden behoben
  • Es gibt nun weitere Shortcuts für die Tastatur(*)
  • Um 00:00 erfolgt ein Server-"Reset" - der Server schreibt das Protokoll automatisch und schaut, welche OWNER-IPs er löschen kann


Ignorieren
Wenn man die Nachrichten eines Users nicht lesen will, muss man an den Server ab jetzt nur noch "/ignore NameDesNutzers"
senden. Falls man diese Wirkung aufheben möchte: "/unignore NameDesNutzers" oder, wenn man alle wieder lesen will:
"/unignore:all"
Wieso ist der Befehl serverseitig?
Ich habe lang überlegt, aber über den Server kann ich ganz einfach einstellen, dass OWNER nicht ignoriert werden können
und NOOBS generell niemanden ignorieren dürfen.


Login-Prozess

Zuerst muss ich Mal erklären, wie MaxNet den Login handhabt. Erstmal ist es wichtig zu wissen, dass MaxNet jedes Clientprogramm
vorläufig einloggt (jedoch sieht man noch nicht die Meldung "... logged in"). Wieso? Weil es für mich komfortabler war - ich konnte
auch mit dem User über die Funktionen/Methoden von TUser aus dem Server arbeiten. Der vorläufig eingeloggte User bekommt einen leeren
Namen und das führte schließlich zu Problemen. Wenn die richtigen Bedingungen gegeben waren (was nicht selten passiert), konnte es
passieren, dass man auf einmal in der Userliste einen leeren Eintrag sieht - das ist der Bug, der behoben wurde.
Weiters konnte man mit einem beliebigen Browser auf MaxNet zugreifen: "pummelie.de:7888" in die Browserzeile eingeben und schon wird
ein Benutzer namens http/1.1/ (oder etwas in der Art) eingeloggt und schreibt eine HTTP-GET-Anfrage. Das wird nun durch einen Login-Header
unterbunden, der vor dem Username zu senden ist ("-- MaxNet Client --"). Wenn dieser String nicht übereinstimmt, wird der Client wieder
rausgeschmissen.
Außerdem muss danach noch die Versionsnummer gesendet werden. Wenn es eine ältere ist, wird man von MaxNet darauf hingewiesen.


Shortcuts

Nein das Kontextmenü für die Userliste war mir nicht genug! Für die folgenden Shortcuts ist vorher ein Klick auf einen Username erforderlich:
  • "I" - führt den Ignore-Befehl auf dem User aus (in der neuesten Version nur noch Strg+I)
  • "U" - führt unignore auf dem User aus (in der neuesten Version nur noch Strg+U)
  • Entfernen - führt kick auf dem User aus
  • Strg+Entfernen - führt kickban auf dem User aus



!Test!

Wie ihr euch vielleicht schon denkt sind alte Versionen inkompatibel. Hier ist die neue Version: https://www.blitzforum.de/upload/file.php?id=9022
Ich hoffe, es kommt zu wenig Fehlern. Der Server wird voraussichtlich bis morgen laufen, damit er zumindest das Protokoll von heute selber schreibt.
Nicknames und Status, die mit /register gesichert wurden, sind erhalten geblieben.
Der gute grok ist jetzt auch etwas lebensechter und geht essen Very Happy - ich hoffe, das Feature funktioniert.


mfg Thunder

fataler Fehler ...

Freitag, 25. Juni 2010 von Thunder
Hallo,

ich melde mich mit der Beseitigung eines fatalen Fehlers, der eigentlich nur als Spielerei für mich da war. Ich habe den Befehl /savelist eingeführt, der mir anzeigt, wer aller, unter welchem Namen mit welchem Rang und unter welchem Hash registriert ist. In meinem Leichtsinn dachte ich: ich verwende Hashes, ergo bin ich auf der sicheren Seite... dem war nicht so, wie ich jetzt durch LordStweccys weiß.
Das Passwort wurde auf Clientseite zu einem Hash umgewandelt. Ein einfaches Programm, das den Hash an den Server sendet, hätte jedem OP (ab OP darf man /savelist ausführen) gewährt, OWNER zu werden.
Dieses Problem wird jetzt eigentlich dadurch umgangen, dass die Hashes nicht mehr preisgegeben werden.

Im Konfigurationsmenü habe ich einen Button eingefügt, der es erlaubt, die Schriftart zu ändern, die möglicherweise manchem ein Dorn im Auge war (ich bin Monospace-Fan Wink ). Allerdings wird beim Ändern der Schriftart der Inhalt der Textbox gelöscht.

Ein Antispam-System befindet sich in Entwicklung. Man bekommt bei zu oftem Senden von gleichen Nachrichten schon eine Meldung, doch der Ban erfolgt noch nicht.

Die Hilfe-Datei, die mit dem /help Befehl angezeigt werden kann, wurde aktualisiert.

Die Userliste wurde um den Punkt Ban erweitert, das heißt, der Server sendet nun zusätzliche Daten an den Client, die die älteren Clients nicht darstellen können. Diese sind wieder einmal INKOMPATIBEL.
Download des neuen Clients: https://www.blitzforum.de/upload/file.php?id=8926

mfg Thunder

Edit: Server läuft (mit grok)

Spielewiese :D

Mittwoch, 23. Juni 2010 von Thunder
Hallo,

wie im vorigen Beitrag (hineineditiert) angekündigt, sind alle Versionen vor 0.07 zum aktuellen Server INKOMPATIBEL!
Es wurde ein bisschen was am Sendesystem verstellt und normale Nachrichten bekommen jetzt ein anderes Präfix-Byte. Dieses macht sie modularer (und auch um 1 Byte kürzer, aber darum ging es nicht) und nun kann man, wie auf einer Spielewiese alles mögliche am Client verändern. Dazu zählt:

  • Änderung der Farbe für den normalen Farbwechsel (normal: schwarz-grau) - schwarz bleibt, die Zweitfarbe ist editierbar. Änderung der Farben für TOPIC-, Server- und Eigennachrichten.
  • Vor der Nachricht wird der Username angezeigt. Nun ist es möglich ein Präfix und ein Postfix zuzuweisen, die, wie der Name schon sagt, vor bzw. nach dem Usernamen angezeigt werden. Standard sind '<' und '>':
    Zitat:
    <Thunder> So werden die Nachrichten gezeigt.

  • Man kann nun die angezeigte Zeit neben der Nachricht etwas besser kontrollieren. Es ist einstellbar, ob die Zeit auf die Sekunde oder Minute genau angezeigt werden soll und, ob sie überhaupt angezeigt werden soll.


Um diese Änderungen durchzuführen musste ich die Änderung des Präfix-Byte in Kauf nehmen und hoffe, dass nicht mehr versucht wird, mit den alten Programmen einzusteigen.

Um der wunderschönen GUI des Clients nicht zu schaden, habe ich eine Tastenkombination, Strg+K, eingeführt, die es euch erlaubt, das Konfigurationsmenü aufzurufen. Die Änderungen treten sofort in Kraft und werden nach dem Schließen des Fensters in die INI-Datei geschrieben.

Als nächstes steht an: Verbesserung der Userlist-Übertragung und Ban-Regelungen.

mfg Thunder

EDIT: habe bei dem ganzen Schreiben den Downloadlink vergessen: https://www.blitzforum.de/upload/file.php?id=8914

Speicherung, Verbesserung 0.06

Dienstag, 22. Juni 2010 von Thunder
Hallo,

ich habe ein paar ganz kleine Fehler behoben und die Speicherung in einer Datei hinzugefügt. Fehler wie solche sind bei Logins aufgetreten:
Zitat:
+ Thunder is now known as Thunder


Außerdem können jetzt OPs und OWNER die Liste der gespeicherten User lesen (Username, Rang und Passwort in Hashform) und Einträge entfernen.
Ich habe mir auch Gedanken zur Dateiübertragung gemacht und habe festgestellt, dass es einfacher ist, wenn MaxNet die Vorarbeit leistet (Übertragung des Dateinamens, der Dateigröße, Sender-IP, Empfänger-IP ...) und dann der Rest von einer eigenen Exe erledigt werden würde. Dann könnte man auch (wegen Windows' Multitasking) mehrere Dateien auf einmal übertragen, wenn ich mich nicht irre.

ACHTUNG MAJOR RELEASE! ALTE VERSIONEN SIND INKOMPATIBEL!
Download: https://www.blitzforum.de/upload/file.php?id=8901
(Schöne Downloadnummer^^) - Server läuft

Hier möchte ich noch etwas zu Vergleichen zwischen BlitzUDP und MaxNet sagen: Mir gefallen diese Vergleiche ganz und gar nicht. Ich glaube nicht, dass das eine gute Idee ist zwei Programme zu vergleichen die auf komplett unterschiedlichen Systemen basieren (BlitzBasic <-> BlitzMax, UDP <-> TCP, BlitzBasic-Syntax <-> BNetEx-Syntax, CiUI (selbstprogrammiert!) <-> MaxGUI :: um nur ein paar dieser zu nennen).

mfg Thunder

Registrierung & Co

Montag, 21. Juni 2010 von Thunder
Hallo,

das war die Aufgabe der letzten Stunden. Endlich eine Registrierung einzubauen, die es erlaubt den Usernamen und den Rang auf Passwort zu sichern. Wie unangenehm es doch ist, wenn einem der Username weggeschnappt wird^^
Also, wie geht das ganze? Der Client prüft, ob der Befehle /register eingegeben wurde. Wenn ja, wendet er auf den Parameter (das Passwort) meine Hashfunktion an und überträgt den Hash an den Server. Dieser speichert ihn mit dem jetztigen Usernamen und Rang des Benutzers. Wenn der Befehl /login eingegeben wird, wird auf den Parameter ebenfalls die Hashfunktion angewendet und er wird übertragen. Der Hash wird mit der Datenbank verglichen und wenn es eine Übereinstimmung gibt, bekommt der Senderclient den zugehörigen Rang und Usernamen.
Das ganze wird leider noch nicht gespeichert.

Das 160-Bit-Hash-Verfahren, das ich verwende, habe ich selbst geschrieben. Es ist eine Einwegfunktion und darauf optimiert, bei kleinen Änderungen an Strings den ganzen Hash angewandt werden. Beispiele:
Zitat:
Thunder
DTJWRSZWJ5MEHHYGKA05
Thundes
VR4XNCIZEDT5L2KXIZLP
Thtndfr
RTGZINM7DK94DCAYLH8S
Thunderp
RJ0SX9A2G0IJ5XHSDUIH


Hier ist das neue Update 0.05: https://www.blitzforum.de/upload/file.php?id=8891
Der Server wird noch etwas länger laufen und ich bin auch da, falls ihr es testen wollt.


mfg Thunder

ziemlich fehlerlos

Samstag, 19. Juni 2010 von Thunder
MAJOR RELEASE!
Wir sind mittlerweile bei: Version 0.02 stable [UPDATE AUF CANDIDATE 1] https://www.blitzforum.de/upload/file.php?id=8869

Hallo,

ich habe jetzt einen Großteil der Bugs entfernen können, jedoch komme ich bei einem nicht weiter. Es kann passieren, dass der Client einfach so, ohne eine äußere Einwirkung oder Vorzeichen abstürzt (ohne Windows-Fehlermeldung). Ich habe keine Ahnung wieso das passiert - bei mir gab es diesen Fehler noch nie, deshalb habe ich eher die Vermutung, dass Windows 7 x64 Probleme mit MaxNet hat...

Außerdem habe ich jetzt den Port von 8080 auf 7888 gewechselt, da MaxNet beim letzten Test einen Login auf den VServer von webtropia abgefangen hat (Username und Passwort - beides unverschlüsselt). Das sah so aus:

Code: [AUSKLAPPEN]
[11:48] + GET/manager/h logged in.
[11:48] + GET/manager/hs status changed to NORMAL
[11:48] GET/manager/h: Authorization: HIER-STAND-DER-USERNAME HIER-DAS-PASSWORT
[11:48] GET/manager/h: Host: 81.30.158.148:8080
[11:48] GET/manager/h:
[11:49] + GET/manager/h logged out.


Trotz der Fehlerbehebungen möchte ich noch einen Test machen. Daher habe ich jetzt MaxNet gestartet, es wird wieder bis etwa 22 Uhr am Abend laufen. Vielleicht auch länger. Falls ihr euch einloggt ist es möglich, dass ich nicht da bin. Mein Chatbot grok wird euch aber freundlich begrüßen.
Er ist nur ein kleiner, höflicher Chatbot: Er grüßt. Auf "re" antwortet er mit "wb". Wenn man schreibt, dass man den Chat gut findet, bedankt er sich in meinem Namen. Er kickt nach einer kleinen Zensurliste Razz

Updates werden eventuell anfallen. Falls das sein sollte, ist folgendes zu beachten:
  • Der Servertopic zeigt die aktuellen Versionen (Server, Client) und eventuell wann das nächste Serverupdate kommt.
  • Neue Clientversionen werden nicht explizit bekannt gegeben, sondern einfach in diesen Eintrag editiert.
  • Für Serverupdates müsst ihr euch nicht ausloggen. Ihr werdet zwar kurzzeitig die Verbindung verlieren, aber ein Update dauert im Regelfall nicht länger als 18 Sekunden. Im Durchschnitt eher 6-12.



mfg Thunder

Einige Fehler

Freitag, 18. Juni 2010 von Thunder
Einige Fehler sind (zum Glück schon) im Vorfeld auf getaucht. Diese sind jetzt hoffentlich behoben und ich freue mich auf freiwillige Tester und den Testlauf (der eigentlich schon vor 30 Minuten begonnen hat).

Download oben.
Für alle die neu bei MaxNet dabei sind: Ihr könnt nichts falsch machen! Ihr braucht keinen Port freigeben oder ähnliches, sondern nur das Programm runterladen, den Nickname eingeben (der Rest ist vorkonfiguriert) und starten.


mfg Thunder

Stabilitätstest für 0.01

Freitag, 18. Juni 2010 von Thunder
Hallo,

ich habe jetzt den MaxNet-Server gestartet (pummelie.de, 8080) um ihn auf längere Laufzeit zu testen.
Ihr könnt euch jederzeit einloggen (Download oben) und die neuen Funktionen testen, ob jemand online ist, ist nicht sicher. Allerdings wird es heute voraussichtlich wieder ab 18:30 einen Test geben, bei dem ich online bin.
Wundert euch nicht, wenn ich auch schon davor immer Mal wieder drinnen bin Very Happy Edit: Sagen wir es so, ich war bis jetzt ununterbrochen passiv/aktiv drinnen.

Die Programme wurden überarbeitet. Alles ist jetzt farbiger Twisted Evil - Topic ist blau; Meldungen, wie Statusänderungen, sind dunkelgrün und eigenverfasste Texte sind (am eigenen Client) orange hervorgehoben.
Wenn man eine Nachricht empfängt, blinkt das Client-Fenster.
Das Eurozeichen funktioniert jetzt (lustig, dass ich nur Chr(172) durch "€" ersetzen musste).
Personen die gerade tippen, haben leicht modifizierte Icons, an denen trotzdem gut zu erkennen ist, dass sie tippen.
Im Programm könnt ihr /help eingeben, um euch eine Hilfe zu den Befehlen ausgeben zu lassen.
"Flüstern" geht jetzt (/whisper). Damit kann man einer Person eine Nachricht schicken. Die Nachricht wird beim Sender und beim Empfänger, jedoch bei beiden in geschwungener Klammer, angezeigt (leichte farbliche Hervorhebung ist geplant).

Eigentlich sollte das alles gewesen sein, was ein stabiles Chat-System braucht. Wenn jetzt alles gut läuft, kümmere ich mich um mehr Features.


mfg Thunder

Es läuft

Donnerstag, 17. Juni 2010 von Thunder
Hallo,

dieser Test lief super Very Happy Der Server war zwar schon seit 16:06 Uhr online, aber erst ab viertel acht begann die Testphase richtig. Genau um 21:06 Uhr wurde der Test beendet, die Bilanz: Der Server hat 5 Stunden gearbeitet (zugegeben 2,5 Stunden, ohne etwas zu tun) und keinen Fehler gemacht, aber es gab keine Abstürze!
Nur die Clients haben ihre Fehler, daher habe ich eine ToDo-List aufgestellt:

  • Blinken in der Taskleiste [für Windows bereits erledigt]
  • Selbstgeschriebenen Text in einer eigenen Farbe anzeigen
  • Anzeigen, ob eine Person gerade tippt
  • /whisper [sollte funktionieren]
  • Eurozeichen-Bug beheben

und ein bisschen was, was schon behoben ist Wink

Ich war sehr erfreut, als wir dann im Hauptteil zu fünft im Chat waren^^ da lässt es sich besser testen. In diesem Sinne bedanke ich mich bei allen, die heute dabei waren.


Wenn die ToDo-List abgearbeitet ist, wird die Version auf 0.01 angehoben.


mfg Thunder


PS: Ja, ich weiß. Ich hab mehr als 2 Worklogeinträge am Tag schon Mal als Pushen bezeichnet, aber ich bin so froh, dass es geht. Ich hoffe ihr verzeiht mir das.

Aufruf zum 2. Test!

Donnerstag, 17. Juni 2010 von Thunder
Hallo! Ich rufe hiermit zum zweiten offiziellen Test von MaxNet auf!

Der neue Client steht hier zum Download bereit: https://www.blitzforum.de/upload/file.php?id=8836

Ich werde nachher, in einem weiteren Worklogeintrag, berichten, wie es gelaufen ist. Ich hoffe, dass sich mindestens 2 einloggen.


mfg Thunder


Edit

Gehe zu Seite Zurück  1, 2, 3  Weiter