MaxNet

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

Worklogs MaxNet

Full Disclosure

Donnerstag, 8. Juni 2017 von Thunder
Ich habe vor fast 7 Jahren hier den letzten Eintrag geschrieben Shocked
Habe gerade MaxNet auf meiner Festplatte gefunden und hier und da gesucht im BlitzForum und ich denke, ich habe es damals aus welchem Grund auch immer, nicht geschafft, den Code zu veröffentlichen.
Das kleine Chatsystem zu Programmieren hat mir damals sehr viel Spaß gemacht, vor allem konnte man nebenbei mit interessierten und freundlichen Forumsmitgliedern rumhängen Smile

Ursprünglich war geplant, dass der Code GPLv3 lizenziert wird.
Ich stelle ihn jetzt in Public Domain. Vermutlich wird eh keiner mehr drüber schauen.
Was interessant ist: Meine Versionsverwaltung von damals waren offenbar
ZIP-Archive von Quelltexten Laughing

Download: https://drive.google.com/open?...l84VGhiZlE

Danke an meine damaligen Leser und Tester!

Edit: Was ich vergessen habe: Das Archiv ist etwas unaufgeräumt, ich habe nur die Dateien gelöscht, die möglicherweise Urheberrechte Dritter verletzen, und alles was mit GPL zu tun hatte rausgehaut. Der Rest ist original ^^
Wie ich das Programm heute getestet habe (Win XP) wirkte es allerdings sehr instabil. Bin mir nicht sicher, warum.

Zum selber bauen braucht ihr mein INI-Modul und Vertex.BNetEx.

Kleinzeug

Mittwoch, 1. September 2010 von Thunder
Hallo,

in letzter Zeit habe ich vorallem die GUI des Clients und ein paar Käfer bearbeitet.

Die GUI hat zwei neue Textfelder über die man den eigenen Benutzernamen beziehungsweise den eigenen Textstatus ändern kann. Außerdem habe ich die Werte bei den SetGadgetLayout-Anweisungen etwas korrigiert.

MaxNet läuft eigentlich rund um die Uhr, weil der Server sehr wenig Ressourcen braucht. Doch am 08.09.2010 wird es, wie SimpleUDP, von 05:00 Uhr bis 10:00 Uhrnicht erreichbar sein.

Ich würde vor dem Release noch mindestens einmal einen Test durchführen wollen. Der wird wahrscheinlich nächste Woche stattfinden. Den Test brauche ich, weil ich im Client einen Bug vermute, ihn aber selber nicht finde, weil er sehr selten auftritt und ich es noch nicht geschafft habe, ihn absichtlich zu provozieren, falls es ihn überhaupt gibt.

Download: Hotfix1: https://www.blitzforum.de/upload/file.php?id=9435

- ad Hotfix1: Einloggen funktionierte nicht.

bis zum nächsten Eintrag, oder einem Treffen in MaxNet Wink

Thunder

weitere kleine Erfolge

Montag, 9. August 2010 von Thunder
Hallo,

ich habe Mal wieder einiges an MaxNet verbessert.

Client
Der Client hat nun eine Multiauswahl-fähige Multi-User-Auswahlbox. Bei mehreren ausgewählten Usern wird geflüstert, wenn auf Senden oder Enter gedrückt wurde. Bei einem wird dessen Status in der Statusleiste des Fensters angezeigt.
Ab jetzt ist es möglich Sprachdateien im Stammordner von MaxNet zu platzieren. Die erste gefundene wird eingelesen und damit kann fast jeder vom Client verwendeter String verändert werden. Strings die vom Server kommen bleiben Englisch.
Im Login-Fenster habe ich Platz für das GPL-Logo gemacht und einen kleinen Platzhalter eingefügt.

Server
Beim Server habe ich das Befehlssystem leicht überarbeitet, das dürfte etwas mehr Geschwindigkeit bringen.
Das Speichern der Benutzerkonten funktioniert jetzt endlich.
Den kritisierten Befehl /whois habe ich entfernt.
Wichtig! Der Befehl /register heißt jetzt /reg. Bevor jemand fragt: Weil es kürzer ist.
Und irgendwas ist noch gewesen, aber das will mir einfach nicht einfallen...

Linux
Ja, Linux - jetzt gibts eine kleine Geschichte: Ich habe also an einem Morgen mein Ubuntu 9.04 (ist ressourcenschonend) gestartet und versucht den Server zu kompilieren. Das hat gleich beim ersten Anlauf funktioniert.
Also habe ich das Programm im Terminal probiert... Juhu funktioniert!
Aber halt: Ich schalte X weg und bin in der Konsole. Ich teste das Programm nochmal ... SEGMENTATION FAULT!
Ich habe keine Ahnung wieso das nicht ging. Mal sehen, ob ich was herausfinde.

Dann dachte ich mir, halb so wild - ich kompilier Mal den Client und teste es mit X.
Gedacht, getan... zumindest bis ich bemerkte, dass er das fltkmaxgui-Modul nicht kompilieren kann. Ich nehme an mir fehlt dieses X-Window SDK.

Fazit: Ich werde schauen, dass ich beim Release schon eine Linuxversion mitliefern kann.


Da es jetzt lang keine Screens mehr gab (die früheren aus diesem Worklog sind total veraltet) hier ein neuer: https://www.blitzforum.de/upload/file.php?id=9277

Download: https://www.blitzforum.de/upload/file.php?id=9278

Ich versuche heute ab 18:30 ganz in MaxNet online zu sein, um einen Test durchzuführen.
Ich hoffe auf viele Teilnehmer!

mfg Thunder

Eingabeaufforderung - Terminal

Montag, 2. August 2010 von Thunder
Hallo,

ja! ich habe die GUI des Servers komplett in ein Konsoleninterface verwandelt.
Das ist wahrscheinlich die Hauptneuerung, da einiges anders organisiert werden musste.
Die Unrundheit die ich im letzten Beitrag noch erwähnt habe - und die auch mit dem Startlogin zu tun hatte - sollte jetzt endgültig behoben sein.

Außerdem gibt es ein paar kleine Neuerungen:
- Speichern des Chatfensterinhalts mit Strg+S (ich weiß, nicht sehr aufregend)
- Zurücksetzen von Kontopasswörtern durch den Owner. Falls es jemand vergisst...
- Andere Kennzeichnung von geflüsterten Inhalten
- Bug mit /status behoben
- Protokollierung ausgeschaltet
- Entfernen-Taste (Delete) funktioniert jetzt

Download(v0.80): https://www.blitzforum.de/upload/file.php?id=9246

mfg Thunder

Verwirrender Bug

Freitag, 30. Juli 2010 von Thunder
Hallo,

zwischen diesem und dem letzten Eintrag war ich auf Urlaub - davor habe ich MaxNet doch einmal geupdatet ohne es genau zu testen... Die Folgen kann man sich vorstellen.
Plötzlich gab es einen Bug (ich dachte bis vor kurzem, es wären mehrere) der die Clients verwirrt hat (mich auch). Manchmal sind User nicht in der Userliste der anderen aufgetaucht und der Text "xxxs status changed to yyy" wurde manchmal nicht gesendet.
Ich habe es glücklicherweise geschaft den Bug einzugrenzen und zu lösen.

Seit dem Update vor meinem Urlaub ist auch ein neues Feature drinnen: Offline-Nachrichten. Diese gibt es allerdings nur für User, die einen Account haben. Man sendet sie einfach über den /whisper-Befehl.
Der Client formt automatisch Ausdrücke wie "@@Name:Text" zu "/whisper Name Text" um.

Ab der neuesten Version ist es möglich, mehreren Usern gleichzeitig zu whispern. Man trennt einfach die Namen beim /whisper durch den Strichpunkt( ; ) ab: "/whisper Name1;Name2;Name3 Text"
Wichtig! Keine Leerzeichen vor oder nach den Strichpunkten!
Einen kleine Unrundheit gibt es noch, die auftritt, wenn ein Owner einsteigt und sich mit dem Login einloggt, aber das mache ich noch.

Download Version 0.70: https://www.blitzforum.de/upload/file.php?id=9219

Ich plane, erst wieder eine neue Client-Version zu veröffentlichen wenn der Server vollständig auf CUI umgestellt ist. Ich werde auch versuchen, die Userliste des Clients Multiauswahlfähig zu machen. Bei einer Mehrfachauswahl würde ein geschriebener Text in "/whisper auswahl1;auswahl2[;auswahlx]* TEXT" umgewandelt und gesendet werden.


mfg Thunder

PS: um das klarzustellen:
Zitat:
Alle Texte die über MaxNet laufen, alle Statusänderungen und sonstige Übertragungen, werden vom Serverprogramm mitgeloggt und auf Vorrat abgespeichert um Quellen von Fehlern und Bugs besser zu finden. Diese Daten werden nur so lange gespeichert, bis sie veraltet (Bugs schon gelöst) sind.
Die Protokollierung wird mit der letzten Version, die ich veröffentliche (oder schon davor) ausgeschaltet.
Ich garantiere, dass alle Protokolle spätestens dann gelöscht werden.

Titel verdient

Dienstag, 13. Juli 2010 von Thunder
Hallo,

die letzte Version MaxNet 0.60 hat den Titel "experimental" echt verdient. Vieles war nur eingeschränkt lauffähig, weil ich auf manches vergessen habe. Zum Beispiel soll auch ein eingeloggter User das Recht haben, sich umzubenennen und dann seinen Loginnamen zurückzubekommen.

Ich kann nicht garantieren, dass ich alles korrigiert habe, aber zumindest sollte jetzt einiges besser laufen.

Auch am Client hat sich massiv etwas geändert. Ich habe ein längst überfälliges Update an der Benutzernamenhervorhebung gemacht: Früher wurden nur Benutzernamen hervorgehoben, die von Groß- und Kleinschreibung her, richtig geschrieben waren und vor denen ein Leerzeichen stand.

Die einzeilige Textbox wurde durch eine mehrzeilige ersetzt und an der Art der Anzeige der Nachrichten wurde auch etwas gefeilt.

Download: https://www.blitzforum.de/upload/file.php?id=9063
(Voll lauffähig ist die neue Version erst mit dem Serverupdate, das bald aufgespielt wird - Edit: Serverupdate aufgespielt; vieles scheint behoben zu sein)

mfg Thunder

Reservierte Namen

Montag, 12. Juli 2010 von Thunder
Hallo,

die letzte Version war zwar experimentell - ich wusste nicht, ob sie funktionieren würde - doch sie hat keine Fehler gemacht. Also bin ich bei der nächsten Version mit einem großen neuen Feature und ein paar kleineren (die mit dem großen zusammenhängen).

Man kann sich schon länger auf MaxNet registrieren. Dabei wird ein Passwort mit Username + Rang verbunden.
Nach eingabe von "/login PASSWORT" hatte man seinen Usernamen und Rang wieder. Allerdings konnten sich in der Zwischenzeit andere User unter demselben Namen einloggen.
Mit der neuen Version wird das unterbunden.

Damit man gleich beim Einloggen seinen Nickname bekommt, habe ich beim Loginfenster ein neues Feld eingefügt, in das man ein Passwort eintragen kann. Dieses wird (in Hashform) gleich beim Login übertragen - damit ist die alte Version(0.50) wieder Mal inkompatibel.

Der Textstatus eines Users wird ab jetzt ebenfalls mit seinem Konto verknüpft. Damit muss man den nicht bei jedem einloggen neu eingeben.

Außerdem hat mich am alten Client folgendes gestört: Wenn ich eine Nachricht schreibe, Enter drücke und schnell zu einem anderen Programm umschalte, kann es passieren, dass der Client die Nachricht erst danach vom Server bekommt und das Programm (bei meiner eigenen Nachricht) zu blinken beginnt. Das sollte jetzt auch behoben sein.

Download: https://www.blitzforum.de/upload/file.php?id=9058

Leider gibt es noch Fehler mit /nick, /back und /away wie ich das sehe.

mfg Thunder

please hold the line

Sonntag, 11. Juli 2010 von Thunder
Hallo,

es ist wieder Mal Zeit eine experimentelle Version von MaxNet zu veröffentlichen.
Was wurde geändert?

1. ist mir aufgefallen, dass das System mit dem Status noch nicht ganz funktioniert hat. Wenn sich ein neuer User eingeloggt hat, hat er die Status der anderen User nicht bekommen. Das hat sich geändert, weswegen die alte Version inkompatibel zur neuen Serverversion ist.

2. habe ich die Updatefunktion des Bansystems neugeschrieben.

3. wurde ein Bug gefixt, der auftrat, wenn das Programm ein Serverprotokoll speichern wollte, es die Datei aber schon gab. Es gab zwar eine Funktion für diesen Fall, aber die war fehlerhaft:
BlitzMax: [AUSKLAPPEN]
	If FileType(name+".txt")=1 Then
For Local i%=2 To 20000
If FileType(name+"("+String(i)+").txt")<>1 Then name:+"("+String(i)+")"
Next
EndIf

Damit ist der Dateiname verdammt lang geworden und es gab einen Laufzeitfehler (- am Ende der If fehlt ein Exit).

4. (zum Titel des Eintrags) ab jetzt pingt der Server die Clients in einem Abstand von einer Minute um die Verbindung aufrecht zu erhalten. Wenn nämlich lange nichts gesendet wurde, konnte es passieren, dass die Verbindung abbricht und der Client neuverbindet.

Download: https://www.blitzforum.de/upload/file.php?id=9053
Heute ist die grok South Africa Edition zum letzten Mal live beim Spiel dabei Wink

mfg Thunder

Alles ok - neue experimentelle

Freitag, 9. Juli 2010 von Thunder
Hallo,

da ich, Pummelie und einige andere Tester (aber hauptsächlich Pummelie und ich) die aktuelle Version 0.35 in großem Ausmaß getestet haben, bin ich der Meinung, dass diese Version keine Fehler enthielt und deswegen habe ich ein paar Features nachgelegt.

Der Topic kann jetzt direkt am Server festgelegt werden. Geplant ist auch noch ein Passwort, das den Zugriff auf den Server regelt.

Über /setstatus TEXT kann man einen Text festlegen (wie zB in Instant Messengern) der angibt, was man gerade tut. Wenn man im Client einen Nickname auswählt, dann wird sein Status in der neu angelegten Statusleiste des Fensters angezeigt.

Wenn man im Client einen Text eingibt, der mit /login, /save oder /register beginnt, wird auf ein Textfeld umgeschalten, das nur Sternchen anzeigt.

Außerdem gibt es ein paar andere Neuerungen, aber da ich immer mit der neuesten Version arbeite, hab ich vergessen, was sonst noch neu ist.

Neue Version 0.42: https://www.blitzforum.de/upload/file.php?id=9049
Da diese Version experimentell ist, habe ich die Version 0.35 online gelassen, die verwendet werden kann, wenn 0.42 nicht funktioniert. Dennoch kann es durch die neue Serverversion zu komischem Verhalten der v0.35 kommen.

mfg Thunder

EXCEPTION_ACCESS_VIOLATION

Mittwoch, 7. Juli 2010 von Thunder
...gab es gestern zu sehen

Hallo,

wieder Mal ein Update. Die Änderungen:

  • statt I und U bei den Shortcuts wird ab jetzt nur Strg+I und Strg+U unterstützt.
  • Ab jetzt wird bei einem Druck von Strg+Backspace kein komisches ASCII-Zeichen mehr generiert
  • Rechte wurden überarbeitet. Unter Anderem können sich Noobs nicht registrieren (den Status registrieren hat als Noob keinen Sinn, das weiß ich, aber er könnte seinen Namen registrieren - darf er nicht)
  • Probleme mit der Anzeige, ob ein User gerade schreibt, wurden behoben
  • An der Sortierung der Userliste ein bisschen verändert
  • Antispamsystem umgebaut (leider noch immer nicht zufriedenstellend)


MaxNet ist heute wieder online und beim Spiel Spanien-Deutschland live dabei. Grok, der Chatbot, ist (nur heute und vll. zum Finale) als South Africa Edition online Very Happy
Bei Eingabe von "!spielstand" zeigt er den aktuellen Spielstand an, falls er früh genug vom Essen zurückkommt. Er hat ein Feature, das vortäuscht, dass er drei Mahlzeiten am Tag hat. Grok ist schon zurück vom Essen und ihr könnt ihn jederzeit per "!spielstand" Befehl nach dem aktuellen Stand fragen.

Download: https://www.blitzforum.de/upload/file.php?id=9037
(Ich habe die alte Version online gelassen, weil ihr mit ihr die Meldung testen könnt, die erscheint, wenn ihr euch mit einer "veralteten" Version einloggt)
Die Versionen 0.31 und 0.35 sind NICHT INKOMPATIBEL.

Wieso gab es EXCEPTION_ACCESS_VIOLATION? Ich habe versucht eine Datei in einem Ordner "doc" zu speichern, der nicht vorhanden war. Es stand zwar folgende Zeile in meinem Code...
BlitzMax: [AUSKLAPPEN]
If Not FileType("doc")=2 Then CreateDir("doc")

... aber anscheinend wertet BlitzMax Not vor = aus. Daher gab es den Ordner nicht und - kabemmm!
Freue mich, falls ihr reinschaut und verstehe, wenn ihr während dem WM-Spiel nicht reinschaut!

mfg Thunder

Gehe zu Seite 1, 2, 3  Weiter