JEN

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Hallo
      Momentan arbeite ich an einem Java Projekt namens JEN (JavaEasyNetwork), dessen Endprodukt folgendes enthalten soll
      • JAR Server, hauptsächlich für GM
      • Konfigurierbar über den Browser
      JEN habe ich ins Leben gerufen,da es ofts das Problem gibt, über keinen Server oder alten Computer zu verfügen und man auf einem RaspberryPi, welcher eine gute Alternative wäre, Java installiert hat, GM Spiele darauf eher keinen Platz finden können. Auch die Anschaffung eines RPi's dürfte nicht zu teuer sein (rund 30-40 Euro)

      Über die Ip Addresse des Computers kann man dann den Server konfigurieren.
      Es kommt eine Loginseite. Nach dem Anmelden kommt man zur eigentlichen Seite zum Einstellen.
      Man kann das Passwort über einen einfachen Textinput verändern, einen neuen Server über ein + erstellen und Server bearbeiten. Servername,Passwort und Port sind einstellbar.

      Die Sicherheit, des konfigurieren ist leider noch mangelhaft (Art einer Caeser Verschlüsselung).
      Einen Server wollte ich virtuell erstellen lassen, wodurch ein einzelner Server viele andere simuliert.



      Aktueller Stand: fertig!
      Ich bedanke mich bei @LEWA für seine Unterstützung :)

      Downloads:
      Jar
      Skripte
      Chat-Beispiel
      Es ist alles kostenlos. Sage mir aber Bescheid, wenn du JEN für etwas kostenpflichtiges benutzt!

      Wie benutzt man JEN?
      Als erstes musst du dir die *.jar auf den Computer, den du als Server benutzen willst, herunterladen (oben sind die Links). Beachte, dass du mindestens die Java-Version 1.8 brauchst
      Erstelle als nächstes am besten einen neuen Ordner namens JEN, in dem du die Datei herein kopierst (es bietet sich an hier auch die Skripte und das Beispiel herein zu kopieren).
      Jetzt musst du an deinem Router alle Ports bei dem Server freischalten, die du für deine Spiele gebrauchen willst. Wenn du den Server von überall konfigurieren möchtest, schalte auch den Port 80 frei.
      Jetzt kannst du schon die jar öffnen. Es empfiehlt sich, dies mit einer Konsole/Terminal zu machen, um den Prozess wieder zu beenden, da es sich sonst einfach ein Hintergrundprozess ist (und bei Windows zB. erst im Taskmanager geschlossen werden muss) und um sich die "Logs" anzuschauen.
      Schon ist der Server startklar!
      Zum konfigurieren öffnest du einen Browser und tippst die Ip deines Servers ein.

      Jetzt kommt ein Login-Screen, wo du das Passwort "JEN" eingeben musst.

      Jetzt kannst du das Passwort erst mal ändern, damit Niemand sonst Unfug auf deinem Server machen kann.

      Als nächstes musst du ein Server erstellen. Name kann nicht doppelt verwendet werden!
      Name,Port und Passwort ist selbsterklärend. Doch was ist Args? Eigentlich ganz einfach. Setze es auf 1, sodass der Spieler immer 1 Parameter mit übergeben muss, zB. seinen Namen! Du kannst bis zu 255 Argumente benutzen.
      Jetzt drücke add. Zum Abschluss musst du apply drücken um alle Einstellungen zu übernehmen.
      Beispiel
      Lade dir hierfür das Beispiel herunter (*.gmz).
      Im obj_client kannst du unter Create Action 1, Init die ip und port bestimmen.
      Voreingestellt ist der Server-Name unter "ChatServer" mit dem Passwort "chatten" und einem Argument (Name). In GameMaker kannst du die Einstellungen unter Create Action2, Connect in der Funktion jen_login(server,password, arg1,arg2,...) ändern.
      Wenn du die Server und die Client Einstellungen auf einander abgestimmt hast, kannst du schon loslegen und mit jemanden chatten! :)

      Ich hoffe meine Skripte sind vom Namen her verständlich. Schreibt mir sonst einfach auf Discord (link in meiner Signatur). Wenn zu viel Nachfrage ist, werde ich die Erklärung noch anfügen.

      Hinweis: Die Passwortübergabe bei der Anmeldung im Browser wird nur eine einfache Verschlüsselung verwendet.

      Hinweis2: Die Ip ändert sich alle 24 Stunden (so habe ich es in Erinnerung). Wer diese gleichbleibend haben möchte, kann sich mal diese Seite anschauen: http://www.dnsdynamic.org/

      Lasst es mich wissen, wenn ihr Verbesserungsvorschläge habt :)

      Gruß Husi012
      Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
      Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

      Willst du mit mir auf Discord Chatten/Quatschen?
      Meine Husi's Tutorial Reihe

      Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von Husi012 ()

    • Meistens gibt es das Problem, keinen Server zur Verfügung zu haben, um Multiplayer Spiele zu erstellen. Ein RaspberryPi kostet nicht viel und die Nebenkosten wie Strom und Internet dürften sehr gering sein.
      Ein GM Spiel(in dem Fall Server) bekommt man meines Wissens nicht so schnell auf einem RPi nicht so schnell am laufen. Da aber auf dem Betriebssystem von einem RaspberryPi standardmäßig Java installiert ist, würde ein Javaserver eigentlich ideal sein.
      Kurz gesagt, es ist ein Server geschrieben in Java, der meiner Meinung nach einfach bedienbar ist.
      Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
      Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

      Willst du mit mir auf Discord Chatten/Quatschen?
      Meine Husi's Tutorial Reihe
    • So ein kleines Update.
      Die Konfigurationsseite ist komplett fertig. Das Design werde ich demnächst natürlich noch verbessern, jetziger Stand siehe hier:


      Als nächstes werde ich den eigentlichen Server erstellen.
      Eine Frage:
      Soll ich zum Schluss eine Schnittstelle hinzufügen, um zB. Maps oder sonstiges hochzuladen?
      Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
      Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

      Willst du mit mir auf Discord Chatten/Quatschen?
      Meine Husi's Tutorial Reihe
    • Kleines InfoUpdate:
      Da Lewa mir geholfen hat, nochmal danke :), habe ich jetzt auch wieder Produktivität und komme ganz gut vorran.
      Man kann schon
      • Sich einloggen
      • eine Gruppennachricht versenden (noch ungetestet)
      Noch nicht möglich
      • Einzel Nachricht versenden
      • Server beim hinzufügen nicht gestartet, wenn der Server schon läuft. (wird bald schnell hinzugefügt)
      • gleichnamige Server auf verschiedenen Ports
      • Wie viele sind online Liste
      • Starte,Herunterfahren oder Neustarten eines Servers
      • alles was mir grad nicht eingefallen ist :P
      Zusatzinfo:
      • nach einem HelloWorldProgramm und einem kleinen anderen Projekt habe ich noch nichts mit Java gemacht
      • wenn ich fertig bin und den Code aufgeräumt habe, werde ich alles OpenSource machen :)
      Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
      Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

      Willst du mit mir auf Discord Chatten/Quatschen?
      Meine Husi's Tutorial Reihe
    • @glim888
      freut mich :) Aus Erfahrung, kann ich aber sagen, dass du lieber noch zur Fertigstellung warten solltest, da sowas in der Zielgerade noch eine gewisse Zeit dauern kann, bis ich es fertig habe bzw. überhaupt fertig bekomme. Ich will das Projekt natürlich auch jeden Fall durchziehen, möchte aber nicht, dass du dir ein Raspberry holst und dann doch unnötig war :)

      Wenn ich schon schreibe:
      Einzelnachricht zu einzelnen Clients schon fast möglich
      Liste von Clients wird auch an Neuankömlinge gesendet und bei connects aktuallisiert und an verbundenen Clients weitergegeben.
      Konnte beides aber noch nicht testen
      Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
      Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

      Willst du mit mir auf Discord Chatten/Quatschen?
      Meine Husi's Tutorial Reihe
    • Hallo :)
      Jetzt habe ich alle Bugs der Client Seite behoben.
      Einzelnachrichten, wie Nachrichten an alle sind möglich.
      "LoginEvent" und "LoginFailedEvent" sind auch verbaut.

      Das nächste größte Problem:
      Ich muss disconnects erkennen lassen können.

      Ich bin auch bei dem Gedanken, die Möglichkeit mitzuliefern, dass der Spieler bestimmte Daten,wie Name im Login mitgeben muss. Das wird aber alles später kommen.

      PS: ist jemand interessiert, den Code für GameMaker zu sehen, wie man sich anmeldet und gegenseitig etwas zusendet?
      Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
      Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

      Willst du mit mir auf Discord Chatten/Quatschen?
      Meine Husi's Tutorial Reihe

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Husi012 ()

    • Hallöchen :)
      Abgesehen davon, dass ich es immer noch nicht gescheit hin bekomme, disconnects zu erkennen, habe ich alles fertig!
      Später werde ich ein Chatbeispiel mit dem Server hochladen. Es kann noch etwas dauern, je nach dem wie weit ich noch komme.
      Das Design auf der Konfigurationsseite wollte ich auch noch stark verändern


      Wie man auf dem Bild erkennen kann, kann man über eine Checkbox einen Server ausschalten. Wenn schon Spieler auf diesem sind, können die noch weiter machen, neue können aber nicht hinzu kommen (sollen die dann einfach gekickt werden?)
      Änderungen, eingeschlossen neue Server, nicht eingeschlossen removes, werden sofort nach Klick auf apply ausgeführt.
      In dem Bild gibt es jetzt auch den Parameter Args zu sehen.
      Setzt man ihn beispielsweise auf 1, so muss der Spieler 1 Wert, beim Login, dem Server übergeben (kann nur String sein). Dieser kann dann als Name gebraucht werden.
      Möglich ist insgesamt 255 Argumente mitzuliefern und 255 Mitspieler zu haben.
      Alles verläuft bis jetzt ohne Bugs!

      Ich habe nicht mehr vor mehr als jetzt angekündigt zu verbessern. (disconnects, auf Wunsch kicken beim offline stellen, design der Seite)
      Wenn ihr wollt, könnt ihr aber versuchen mich mit einer guten Idee zu überreden :P
      Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
      Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

      Willst du mit mir auf Discord Chatten/Quatschen?
      Meine Husi's Tutorial Reihe
    • Soo jetzt ist es soweit.
      Ich stelle und verkünde vor *Trompete* mein fertiges JavaEasyNetwork (Was für ein schlechtes Englisch :D)
      Downloadlink mit Erklärung im ersten Post

      Edit: ups gerade gemerkt, dass ich das [in Entwicklung] nicht entfernen kann ^^
      Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
      Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

      Willst du mit mir auf Discord Chatten/Quatschen?
      Meine Husi's Tutorial Reihe

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Husi012 ()

    • Möchte kurz etwas zur Anschaffung eines Raspberry PI. Dieses kleine 'Ding' lohnt sich nicht nur für dieses Projekt, man kann damit eine ganze Menge anderer Sachen machen. Wer gerne ein wenig bastelt und mit Sensoren und Motoren herumspielt, der wird sich über den kleinen Rechner wirklich freuen.

      Ich habe damit vor kurzem die Logik eines Flipperautomaten programmiert mit Musikausgabe. Der Flipper ist dabei nicht virtuell sondern real und besteht aus Transistoren, Kugel, Ärmchen, Spulen usw. ;)
      Das aber nur mal so am Rande.