In der Theorie wäre es nicht schwer (wenn man die Tatsache beiseite lässt, dass die Konfigurierbarkeit so eines Plugins über Kommandos oder Config-Dateien ohnehin die meiste Arbeit wäere)
1. das Plugin würde sich von jedem Playermove das Event mit den neuen und alten Koordinaten schicken lassen
2. prüfen wieviele andere Spieler sich schon im Bereich befinden
3. und wenn voll ist: den Spieler move rückgängig machen (blocken kann glaube ich Bukkit nicht, auch bei WorldGuard gehts ja irgendwie zurück).
Wenn man jetzt zweitens außer Acht läßt, dass das Plugin auch auf Sonderfälle wie Teleports, Admins-Teleports etc. irgendwie auch noch gescheit reagieren soll, also nicht schwer.
Allerdings würde mich der Gedanke stören, dass ein Plugins welches mit dem Minecraft Hauptgeschäft nichts zu tun hat wirklich jeden Move-Event bekommt -- ich nehme an, das kostet Rechenzeit und wir haben auch nur zwei Plugins die das tun: WorldBorder und WorldGuard. Wobei sogar WorldBorder behauptet, dass z. B. die eckige Grenze etwas weniger Rechenzeit kostet als die runde. Aus der Tatsache, dass sie es extra erwähnen würde ich schließen, dass diese Playermove-Events nicht so ganz zeit-unkritisch sind.
Ich will jetzt nicht behaupten, dass das unseren eh nicht überbevölkerten Server zum Laggen brächte (obwohl: kann schon sein). Nur habe ich eigentlich keine Lust tagelang Arbeit in etwas zu investieren, was im Grunde handwerklicher Pfusch wäre.
In PHP ist sowas ohnehin kaum machbar, weil erstens das ganze Pluginkonzept auf Objektorientierung/Vererbung basiert (also wenn dann Python und nicht PHP). Und zweitens weil es dann ganz sicher unspielbar lahm wäre: ich habe mal Primzahlenberechnungen von Java, C++ und Python verglichen: da reden wir über den Faktor 10x langsamer bei Python...
edit p. s. wenn man das ganze als WorldGuard-Plugin und nicht eigenständig realisieren würde wäre die Eventgeschcihte natürlich entschärft ... aber ich habe wirklich gerade nicht die Zeit dafür da muß es simplere Lösungen geben.
_________________________
kaahne - Geistlande Administrator
Bitte keine Anfragen per PM, nutzt das entsprechende Forum!
Noch keinen Account? Jetzt registrieren!
Thema: COOP Hinderniss