Wiimmfi

Aus MarioWiki
Zur Navigation springen Zur Suche springen

Das Wiimmfi-Projekt hat eine wichtige Rolle im Bereich des Online-Gaming für Nintendo DS- und Wii-Spieler übernommen. Vor der Einführung von Wiimmfi war die Nintendo Wi-Fi Connection (WFC) der primäre Service, der kostenloses Online-Spielen in verschiedenen Nintendo-Spielen ermöglichte. Am 20. Mai 2014 stellte Nintendo diesen Dienst ein, vor allem aufgrund der Abschaltung der Server durch den Betreiber GameSpy.[1]

MK8 Bowser Symbol.png Dieser Artikel wurde zur Löschung vorgeschlagen.
Eine Löschung kann auf der Diskussionsseite des Artikels besprochen werden. Die konkreten Gründe für eine Löschung:

Begründung:
Irgendwie passt dieser Artikel nicht ins MarioWiki

Das Wiimmfi-Projekt wurde bereits am 10. Mai 2014, zehn Tage vor der Abschaltung der WFC, für die Öffentlichkeit zugänglich gemacht. Es übernahm einen Großteil der Funktionen der WFC und ermöglichte weiterhin das Online-Spielen in Spielen wie Mario Kart Wii und vielen anderen. Seit seiner Einführung hat das Wiimmfi-Projekt seine Unterstützung auf mehr als 500 Spiele ausgedehnt. Damit bietet es Nintendo-Fans die Möglichkeit, ihre Lieblingsspiele auch nach dem Ende der WFC online zu spielen.[1]

Geschichte[Bearbeiten]

Erste Verkehrsanalyse[Bearbeiten]

Im November 2012 begann Wiimm mit der Analyse des Netzwerkverkehrs von Mario Kart Wii, um Online-Cheater aufzuspüren und für den Fall, dass Nintendo seine Server abschalten sollte, einen eigenen Server einzurichten. Wiimmfi speicherte alle Netzwerkdumps und Rennvideos für spätere Analysen. Im Dezember 2012 entwickelte Wiimm das Tool "mkw-ana", um die Pakete von Netzwerkdumps in ein benutzerfreundliches Format zu bringen. "mkW-ana" ist ein Hex-Dumper, der verschiedene Pakettypen identifizieren und in Unterdatensätze aufteilen kann. Bekannte Werte werden in benutzerfreundlichen Formaten ausgegeben. Ab dem 1. Juni 2013 konnte "mkw-ana" Live-Statistiken wie den aktuellen Rang und andere Statuswerte auf den Bildschirm bringen. Die Analyse von Renndaten stand dabei im Vordergrund.[2]

Die Entwicklung von Wiimmfi[Bearbeiten]

Nintendo kündigte im Februar 2014 die Abschaltung der Nintendo Wi-Fi Connection an. Nachdem Wiimmfi darauf vorbereitet war, begann die Entwicklung des Servers nur wenige Tage später. Um dies zu ermöglichen, wurde ein Masterplan entworfen. Zunächst wurden alle Aspekte von Mario Kart Wii dokumentiert und analysiert, einschließlich Rennen, Veranstaltungen und Freundescodes. Außerdem sollte Wiimmfi auch andere Spiele unterstützen, die dasselbe Protokoll verwenden. Wiimm entwickelte auch einen Patcher für alle Wii-Spiele, der in das Tool "wit" integriert wurde. Des Weiteren wurde das Tool "mkw-ana" verbessert, um eine bessere Analyse der Serverpakete zu ermöglichen. Am Anfang nutzten rund 100 Spieler die DNS-Umleitung über einen Server, um das Matchmaking durchzuführen, was zu vielen wertvollen Daten führte. Es war wichtig, die spielspezifischen Geheimnisse für die Verschlüsselung der Matchmaking-Antworten zu sammeln. Zusätzlich wurde ein Unterforum für die Entwicklung von Wiimmfi eingerichtet, in dem viele Helfer ihre Unterstützung anboten. Schließlich wurde erwähnt, dass nur die Wii und der Server die Verbindung zwischen dem Spitznamen und der Profil-ID kennen und dass diese Informationen auch für den Wiimmfi-Server benötigt wurden.<ref name="Development of Wiimmfi/">

Wiimmfi ersetzt Nintendo WFC[Bearbeiten]

Am 10. Mai 2014 wurde Wiimmfi offiziell gestartet, nur zehn Tage vor der Abschaltung von Nintendo WFC. Zu diesem Zeitpunkt wurden ein allgemeiner Patcher für alle Wii-Spiele und ein spezieller Patcher für Mario Kart Wii veröffentlicht. Am 20. Mai 2014 schaltete Nintendo seine WFC-Server ab. Wiimmfi unterstützte an diesem Tag bereits 17 Spiele. Zusätzlich war eine erste Version der Mario Kart Wii-Statistikseiten verfügbar. Wiimmfi hat somit erfolgreich die Lücke geschlossen, die durch die Abschaltung von Nintendo WFC entstanden ist. Der Service ermöglicht es den Spielern, online zu spielen und an statistischen Erfassungen teilzunehmen. Durch die Verfügbarkeit der einfachen Patcher wurde es den Nutzern erleichtert, ihre Wii-Spiele mit Wiimmfi zu verbinden und weiterhin den Online-Multiplayer zu genießen.<ref name="Development of Wiimmfi/">

Wiimmfi-Portal[Bearbeiten]

Das Wiimmfi-Portal wurde entwickelt, um den Benutzern die Verwaltung ihrer Konsolen und Profile zu ermöglichen. Es bietet auch ein Rechtesystem pro Benutzer und dient als Grundlage für das Bannsystem. Um sich einzuloggen, benötigen die Benutzer ein Konto bei Wii-Homebrew.com. Mit dem Portal können Konsolen registriert und Profilen Namen zugewiesen werden. Es ist auch möglich, alte Profile über das Portal zu reaktivieren. Das Portal ermöglicht es Moderatoren, Nutzer zu kicken oder zu bannen, wobei alle Sperren protokolliert sind und öffentlich eingesehen werden können. Eine neue Fehlerseite wurde eingeführt, bei der Benutzer Fehlercodes eingeben können, um Lösungen für die Fehler zu erhalten. Die Mario Kart Wii-Statistikseiten wurden ebenfalls aktualisiert, wobei nur Regionen mit Aktivitäten angezeigt werden.<ref name="Development of Wiimmfi/">

Wiimmfi-Server[Bearbeiten]

Der Wiimmfi-Server hat verschiedene Updates erhalten, um seine Funktionalität und Leistung zu verbessern. Der neue MASTER-Server wurde in C als Single-Thread-Tool implementiert, was zu einer effizienten Verarbeitung von UDP/IP-Paketen von mehr als 20000 Clients führt. Der neue Server benötigt weniger Ressourcen, verliert keine Pakete mehr und kann generische Spieltabellen besser handhaben. Durch eine interne Kopie der Spieldatenbank werden Datenbankabfragen reduziert und die Spielverifizierung beschleunigt. Der MASTER-Server merkt sich die vorherigen Datensätze und aktualisiert die Matchmaking-Tabellen nur bei Änderungen. Der NATNEG-Server wurde verbessert, um weitere NATNEG-Protokollvarianten zu unterstützen, und läuft nun auf drei verschiedenen Servern. Der "mkw-ana" kann sich nun mit dem neuen JOB-Server verbinden, um Informationen über den aktuellen Raum eines Clients und andere Spieler im selben Raum abzurufen. Das Backend der Server unterstützt nun TELNET, was eine interaktive Kommunikation ermöglicht.<ref name="Development of Wiimmfi"7>

Die Server[Bearbeiten]

NCAT (Verkettung und Umleitung von Steckdosen)[Bearbeiten]

- Ein vielseitiges Netzwerkdienstprogramm, das zum Lesen und Schreiben von Daten in Netzwerken verwendet wird.
- Unterstützt TCP/IP-, UDP/IP- und UNIX-Sockets.
- Agiert als Netzwerkserver, indem es für jede Verbindung oder jedes Paket einen separaten Unterprozess erstellt und so die Stabilität des Servers gewährleistet.
- Wird in Kombination mit den PHP-Skripten von Wiimmfi verwendet.
- Ursprünglich für GPCM, GPSP, MASTER und MS verwendet, aber jetzt hauptsächlich für GPCM, GPSP und COMPETITION.[2]

NAS (Nintendo-Authentifizierungsserver)[Bearbeiten]

- Verwaltet die Authentifizierung für Original-Wii-Spiele und DS-, DSiWare- und WiiWare-Spiele.
- Verwendet HTTP/POST für die Kommunikation.
- PHP-Skript-basiert und von einem Apache-Webserver ausgeführt.
- Prüft Parameter, Wartungsmodus und Anmeldebeschränkungen.
- Verwaltet neue Konsolen und Profile und speichert Anmeldedaten für andere Server in einer Datenbank.[2]

GPCM (Client-Server)[Bearbeiten]

- Verwaltet die Verbindungen für Clients nach einer erfolgreichen NAS-Anmeldung.
- Kombiniert NCAT- und PHP-Skripte und erstellt separate PHP-Instanzen für jeden verbindenden Client.
- Verwendet UNIX-Sockets für die Kommunikation zwischen Clients und anderen Servern.
- Unterstützt Push-Nachrichten an MASTER und JOB für Statusänderungen von Profilen.
- Bietet eine OPENHOST-Funktion mit einigen Problemen.[2]

SV (Supervisor)[Bearbeiten]

- Analyseserver, der als Hintergrundmodus des GPCM-Servers fungiert.
- Hält permanente Verbindungen zu verschiedenen Servern aufrecht.
- Überwacht den Status und die Kommunikation zwischen Clients, Räumen und anderen Servern.
- Sammelt Daten für bessere Statistiken.[2]

GPSP (Abrufen von Informationen über Freunden)[Bearbeiten]

- Dient zum Abrufen von Informationen über Freunde.
- Kombiniert mit NCAT und PHP-Skripten.
- Erzeugt eine Instanz für jede Verbindung.[2]

MASTER (Matchmaking-Server)[Bearbeiten]

- Empfängt in regelmäßigen Abständen Online-Statusdaten von den Clients.
- Speichert diese Daten für das Matchmaking und kann vom MS-Server abgerufen werden.
- Wurde ursprünglich als PHP-Skript implementiert, später aber wegen der besseren Leistung in C umgeschrieben.
- Verringert durch die Integration mit MS die Anzahl der Datenbankabfragen und -zugriffe.[2]

MS (Matchmaking retrieving server)[Bearbeiten]

- Wird von Clients für die Suche nach Hosts für die Spielersuche verwendet.
- Verschlüsselt die Antworten mit einem spielspezifischen geheimen Schlüssel.
- Kombiniert mit NCAT und PHP-Skripten, aber später in C umgeschrieben, um die Leistung zu verbessern.[2]

NATNEG (Network Address Translation Negotiation)[Bearbeiten]

- Erleichtert Client-to-Client-Verbindungen hinter Firewalls und NATs.
- Wiimmfi verwendete zunächst einen NATNEG-Server von Nagato in Python, entwickelte aber später einen eigenen C-basierten NATNEG-Server.
- Unterstützt mehrere Instanzen, um die Zuverlässigkeit und Kommunikation zwischen Servern zu verbessern.[2]

SAKE (Server zum Austausch von benutzererstellten Inhalten)[Bearbeiten]

- Wird von Spielen verwendet, um vom Benutzer erstellte Inhalte wie Miis und Geisterdaten zu speichern.
- Ursprünglich auf dem AltWFC SAKE-Server implementiert und später in PHP für Wiimmfi neu implementiert.[2]

RACE (Mario Kart spezifischer Server für Ranglisten)[Bearbeiten]

- Ein Mario Kart-spezifischer Server für In-Game-Ranglisten.
- Ursprünglich in Python implementiert, später in PHP für Wiimmfi neu implementiert.[2]

COMPETITION (Wettbewerbsverwaltungsserver für Mario Kart Wii)[Bearbeiten]

- Verwaltet Wettbewerbe, ursprünglich in den RACE-Dienst integriert.
- Wurde von Januar 2016 bis Juni 2016 als separater Dienst entwickelt, um die Entwicklung und Fehlersuche zu erleichtern.
- Verwendet PHP-Skripte.[2]

JOB (Server zur Ausführung von "mkw-ana"-Aufträgen)[Bearbeiten]

- Ermöglicht es "mkw-ana", Informationen über den aktuellen Raum und seine Spieler zu erhalten und Kick- und Ban-Jobs zu senden.
- Überwacht und verwaltet spezielle Rechte auf dem Wiimmfi-Server.[2]

Sonstige Server[Bearbeiten]

Darüber hinaus verfügt Wiimmfi über weitere Server für spezielle Zwecke, darunter DLS1 (Server zum Herunterladen von Spieldateien) und GAMESTATS (Spielstatistiken, Bestenlisten und Daten).[2]

Einzelnachweise[Bearbeiten]

  1. 1,0 1,1 Wiimmfi Hauptseite. Abgerufen am 13.10.2023.
  2. 2,00 2,01 2,02 2,03 2,04 2,05 2,06 2,07 2,08 2,09 2,10 2,11 2,12 2,13 Development of Wiimmfi. Abgerufen am 13.10.2023.