• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

[Votifier] HTTPListener 1.1 - Your freedom, all possibilities!

Status
Für weitere Antworten geschlossen.

Glowdragon

Schafhirte
Registriert
23 Juli 2011
Beiträge
131
Alter
28
Diamanten
300
Minecraft
Glowdragon
[align=center]
logo.png

[/align]
Dieser Listener für Votifier ruft bei jeder Bewertung eine bestimmte Datei auf eurer Website auf und sendet den Benutzernamen und den Namen der Serverliste an die Website.
Sehr nützlich, wenn ihr die Anzahl der Bewertungen auf eurer Website oder in Foren, etc. anzeigen wollt. Außerdem könnt ihr vom Webserver aus Befehle zum Minecraft-Server senden.

Beispiele:
Gib für jede Serverliste einen bestimmen Betrag Geld

Code:
if ($website == "minecraft-server.eu")
{
    echo("money give ".$username." 0.20\n");
    echo("broadcast ".$username." hat für diesen Server auf minecraft-server.eu gevotet\n");
}
else if ($website == "minestatus.net")
{
    echo("money give ".$username." 0.30\n");
    echo("broadcast ".$username." hat für diesen Server auf minestatus.net gevotet\n");
}
Überprüfe das Passwort für zusätzliche Sicherheit
Code:
$password = $_POST["password"];

if ($password == "1234")
{
    // Mach etwas...
}
Gib Items und Erfahrungspunkte
Code:
$username = $_POST["username"];
echo("give ".$username." diamond 2\n");
echo("xp ".$username." 100\n");
Logge den Vote in eine MySQL-Datenbank
Du musst eine Tabelle mit dem Namen "votes" erstellen mit 3 Spalten: username (TEXT), website (TEXT) und timestamp (TIMESTAMP)
Code:
// MySQL Login
mysql_connect("localhost", "username", "password");
mysql_select_db("database");
mysql_query("INSERT INTO votes SET username = '".$_POST["username"]."', website = '".$_POST["website"]."', timestamp = NOW()");
Weitere Beispiele folgen

Demo
Ihr könnt hier voten und die Anzahl der Votes auf dieser Website in der Rechten Box sehen.


Ich biete kostenpflichtigen Support an für sehr spezielle Funktionen für eure Website. Sieht es als Spende!

Links
HTTPListener im Votifier-Forum

Changelog
Version 1.1:
- Der Befehl wird nur ausgeführt, wenn man mit "/" beim "echo" beginnt
- Die Nachricht wird im Server an alle Spieler geschickt, wenn man nicht mit "/" beim "echo" beginnt (Formatierung mit & möglich!)
- Beispiele behoben! Nur der erste Befehl funktionierte, ich vergaß, "\n" am Ende bei jedem "echo" hinzuzufügen
Version 1.0:
- Veröffentlichung des Listeners
 

Glowdragon

Schafhirte
Registriert
23 Juli 2011
Beiträge
131
Alter
28
Diamanten
300
Minecraft
Glowdragon
Jemand hat in der Umfrage für "Nein, es gibt Listener mit mehr Möglichkeiten" gestimmt, ich bitte darum, mir diesen Listener zu zeigen oder mir mitzuteilen, was an meinem Listener nicht möglich ist :)
 

Glowdragon

Schafhirte
Registriert
23 Juli 2011
Beiträge
131
Alter
28
Diamanten
300
Minecraft
Glowdragon
little_psycho11' schrieb:
Sobald man Commands auslösen kann hat man eigentlich alle Möglichkeiten...
Mich würde auch interessieren was Listener mehr hat (=
Der Listener ist speziell an Leute gerichtet, die eine Serverwebsite haben und PHP können, denn dann kann man die verschiedensten Dinge programmieren, schaut euch meine Website an, dort ist eine Liste der Top Voter und wenn man auf allen drei Serverlisten für den Server votet, kann man eine Stunde lang fliegen. Doch momentan funktioniert mein HTTPListener bei mir garnicht. ^^

wbkkramer' schrieb:
Was mich bei deinen aber Interessiert ist die Anzeige auf der Homepage wer die meisten Votes hat. Dazu würde ich gerne für die User noch ne Anzeige haben wenn sie online kommen das sie noch nicht gevotet haben in den letzte 24 Stunden.
Dazu musst du dich mit PHP und Datenbanken auskennen. Für die Anzeige, dass man noch nicht gevotet hat, musst du Java können.

Ich werde bald ein neues Plugin veröffentlichen, welches sich VotifierPermissions nennt. Dieses Plugin ermöglicht dem Server, einen Spieler mit Zusatzrechten für begrenzte Zeit zu belohnen, sei es bis zum Ende des Tages (23:59 Uhr) oder für ein paar Stunden. Man kann das Plugin in Kombination mit dem HTTPListener benutzen!
 

Glowdragon

Schafhirte
Registriert
23 Juli 2011
Beiträge
131
Alter
28
Diamanten
300
Minecraft
Glowdragon
Nein, der Listener macht alles möglich, was man mit der Programmiersprache PHP so alles machen kann! Klar kann man auch eine Liste der häufigsten Voter anzeigen lassen und z.B. alle in der Top 5 wöchentlich eine Belohnung geben und dann den Stand zurücksetzen. Wenn man will, kann man auch andere Programmiersprachen verwenden, die auf die Website zugreifen und z.B. einen Sound abspielen, wenn jemand votet (ist sinnlos, aber möglich ^^)

Leider ist dieser Listener nur was für Leute, die sich halt mit PHP auskennen, vielleicht füge ich noch ein paar Codebeispiele hinzu, die MySQL voraussetzen.

Zur Umfrage:
Wer "Nein" abstimmt, soll auch bitte antworten und den Grund angeben, ich finde keinen Listener, der ansatzweise mehr Möglichkeiten bietet!
 

serydian

Minecrafter
Registriert
26 Mai 2012
Beiträge
2
Diamanten
0
Hey ich habe ein Problem
Code:
2012-06-25 10:55:26 [SEVERE] org.bukkit.configuration.InvalidConfigurationException: Top level is not a Map.
2012-06-25 10:55:26 [SEVERE] 	at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:57)
2012-06-25 10:55:26 [SEVERE] 	at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:138)
2012-06-25 10:55:26 [SEVERE] 	at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:105)
2012-06-25 10:55:26 [SEVERE] 	at HTTPListener.loadConfiguration(HTTPListener.java:72)
2012-06-25 10:55:26 [SEVERE] 	at HTTPListener.<init>(HTTPListener.java:21)
2012-06-25 10:55:26 [SEVERE] 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
2012-06-25 10:55:26 [SEVERE] 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
2012-06-25 10:55:26 [SEVERE] 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
2012-06-25 10:55:26 [SEVERE] 	at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
2012-06-25 10:55:26 [SEVERE] 	at java.lang.Class.newInstance0(Class.java:372)
2012-06-25 10:55:26 [SEVERE] 	at java.lang.Class.newInstance(Class.java:325)
2012-06-25 10:55:26 [SEVERE] 	at com.vexsoftware.votifier.model.ListenerLoader.load(ListenerLoader.java:48)
2012-06-25 10:55:26 [SEVERE] 	at com.vexsoftware.votifier.Votifier.onEnable(Votifier.java:157)
2012-06-25 10:55:26 [SEVERE] 	at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:215)
2012-06-25 10:55:26 [SEVERE] 	at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337)
2012-06-25 10:55:26 [SEVERE] 	at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381)
2012-06-25 10:55:26 [SEVERE] 	at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:256)
2012-06-25 10:55:26 [SEVERE] 	at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:238)
2012-06-25 10:55:26 [SEVERE] 	at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:381)
2012-06-25 10:55:26 [SEVERE] 	at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:368)
2012-06-25 10:55:26 [SEVERE] 	at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:197)
2012-06-25 10:55:26 [SEVERE] 	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:432)
2012-06-25 10:55:26 [SEVERE] 	at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
Code:
$username = $_POST["username"];
$website = $_POST["website"];

if ($website == "minecraft-server.eu")
{
	echo("money give ".$username." 0.20");
	echo("broadcast ".$username." hat fuer diesen Server auf minecraft-server.eu gevotet");
}
else if ($website == "minestatus.net")
{
	echo("money give ".$username." 0.30");
	echo("broadcast ".$username." hat fuer diesen Server auf minestatus.net gevotet");
}
mysql_connect("hostnamme", "benutzername", "passwort");
mysql_select_db("datenbank");
mysql_query("INSERT INTO votes SET username = '".$_POST["username"]."', website = '".$_POST["website"]."', timestamp = NOW()");

Mysql Daten sind alle richtig
 

Glowdragon

Schafhirte
Registriert
23 Juli 2011
Beiträge
131
Alter
28
Diamanten
300
Minecraft
Glowdragon
Anscheinend kennst du dich nicht richtig aus. Der Code gehört garnicht in die config.yml, sondern in eine PHP-Datei, die du auf deinem Webspace hochladen musst. In der config.yml gibst du an, wo die Datei liegt, z.B. beispiel.de/beispielordner/beispiel.de.
 

Glowdragon

Schafhirte
Registriert
23 Juli 2011
Beiträge
131
Alter
28
Diamanten
300
Minecraft
Glowdragon
Leichencamp? Finde ich nicht, denn Feedback und Verbesserungsvorschläge sind erwünscht!
Der Listener ist doch bei Bukkit Dev, beim Votifier Forum. Bei neuen Bukkitversionen muss man garnichts updaten, höchstens Votifier ;)
Und heute lad ich ne neue Version hoch, wo man jemanden private Nachrichten senden kann, wenn er gevotet hat.
 

Glowdragon

Schafhirte
Registriert
23 Juli 2011
Beiträge
131
Alter
28
Diamanten
300
Minecraft
Glowdragon
Wenn du diesen Listener benutzt, um die Votes zu "zählen", belastet es die Seite überhaupt nicht, sondern nur die Seite, die vom Listener aufgerufen wird, also deine eigene Website ;D

Hier kannst du sehen, wie ich den HTTPListener benutze.
 
Status
Für weitere Antworten geschlossen.
Oben