• 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!

[Sammelthread] Votifier

H4RDC0REx3

Workaholic
Registriert
17 Dezember 2011
Beiträge
879
Alter
26
Diamanten
200
[align=center]Votifier 1.6
[/align][align=center]Vote4Cash

andere Listener[/align][align=center]Information: User müssen Online sein um die Belohnung zu bekommen.[/align]
[align=center][font='Helvetica, Verdana, sans-serif']Fehlerquellen [/font][/align]
geschrieben von Minecraftler
Es gibt mehrere Fehlerquellen:
----
Vorraussetzungen für den Erfolg mit dieser Anleitung:
1.) Du nutzt 1.2.4-R0.1 oder 1.2.5-R0.1
Wenn nicht, hilft nur eins: updaten, denn meine Anleitung ist mit älteren Versionen nicht getestet.
2.) Du nutzt Votifier 1.6
Wenn nicht, hilft auch hier nur eins: updaten, denn meine Anleitung ist mit älteren Versionen nicht getestet.
----
Votifier einrichten:
1.) Starte den Server mit Votifier
2.) Im plugins Ordner sollte sich nun ein Ordner namens Votifier befinden. Hier muss die config geöffnet werden und entsprechend bearbeitet werden:
Hinter "host:" muss deine IP. Alles andere kannst du so lassen. Die config sollte jetzt z.B. so aussehen:

codeS.png
Quellcode
1
host: 176.9.31.50
2
port: 8192
3
listener_folder: plugins/Votifier/listeners


3.) Starte den Server neu.
4.) Öffne im Votifier Ordner den Ordner rsa und lass dir die Datei public.key anzeigen. Du solltest eine lange Zeichenkette sehen.
5.) Kopiere die Zeichenkette von 4.) und füge diese auf der Seite von minecraft-server.eu bei deinen Servereinstellungen ein. Speicher es ab.
6.) Lade dir den Flatfile-Votelistener herunter (https://github.com/downloads/vexsoftware…eListener.class ) und lege ihn in den Unterordner Listeners deines Votifier Ordners.
7.) Starte den Server neu.
8.) Vote für deinen Server auf minecraft-server.eu (Namen angeben!). Warte ca. 5 min. und öffne dann die Datei votes.log aus deinem Votifier Ordner. Hier sollte nun ein Eintrag sein, in dem auch dein Name steht. Wenn nicht folge der folgenden Anleitung.
---
Fehlersuche
Im folgenden musst du systematisch Vorgehen, um einen Fehler zu finden, wenn dein Name nicht wie oben in der votes.log auftaucht (bzw. überhaupt nichts dort auftaucht) .
1.) Gibt Votifier beim Start eine Fehlermeldung aus? Wenn bei dir beim Start keine Fehlermeldung ausgeben wird, gehe zum nächsten Schritt. Ansonsten überprüfe welcher der folgenden Fehler kommt:
"Error initializing vote receiver":
Dies bedeutet, dass der Prot 8192 bereits belegt ist, deshalb musst du die config öffnen und den Port duch einen anderen ersetzten (z.B. 8193,8081,...) und auch bei minecraft-server.eu diesen in deinen Einstellungen ändern.
"javax.crypto.BadPaddingException: Data must start with zero" oder
"javax.crypto.BadPaddingException: Message is larger than modulus":
Dein public.key ist falsch. Lösche den rsa Ordner und starte den Server neu. Führe die Schritte 4.) und 5.) der Anleitung zum Einrichten von Votifier von mir erneut durch.
"java.lang.NullPointerException at com.vexsoftware.votifier.model.ListenerLoader.load":
Du hast einen Fehler in der config gemacht: Die Angabe hinter "listener-folder:" ist falsch. Ersetzte diese durch die aus meiner Beispielconfig (siehe oben).
2.) Überprüfe ob der von dir in der config angegebene Port offen/durchlässig ist: Öffne http://www.yougetsignal.com/tools/open-ports/ und gib dort die IP deines Servers und den Port an. Klick auf check. Wenn dort eine Meldung wie "Port 8192 is open" erscheint, gehe weiter zu 3.) wenn dort "Port 8192 is closed" steht, dann blockt dein Hoster oder deine Firewall diesen Port. Deaktiviere also deine Firewall und probiere es erneut. Sollte dies nicht helfen oder du keine Firewall haben, dann wende dich an deinen Hoster.
3.) Die letzte Möglichkeit ist nun, dass du einen zusätzlichen Listener installiert hast. Aus eingener Erfahrung weiß ich, dass ein Listener alles verursachen kann. Daher solltest du alle Listener die du nutzt wieder löschen und es nur mit dem Flatfile-Listener (siehe oben) versuchen. Wenn es nun klappt, kannst du nach und nach die alten Listener hinzufügen und so herausfinden an welchem es liegt. Wenn du den schuldigen Listener gefunden hast, überprüfe, ob du alle Vorraussetzungen erfüllst, um diesen Listener zu nutzen (bsp. Für den Vault-Listener benötigst du Vault und ein zu Vaut kompatibles Economy-Plugin oder für den iConomy-Listener benötigst du iConomy (normalerweise Version 6).

Mein Listener Tipp:WerrisExecuteCommandListener (http://fireearth.de/WerrisExecuteCommandListener.class). Dieser kann beliebig viele Befehle ausführen. So hast du die Mögichkeit Sachen über die Console auszugeben (Befehl ist /say) oder auch z.B. Geld mit iConomy6 hinzuzufügen ( /money give ). Dieser Listener ist bei mir selber in Gebrauch und funktioniert bei mit einwandfrei. Die config heißt hier executecommands.ini . Mein Beispiel:

codeS.png
Quellcode
1
###ExampleCommands###
2
say §4Vote: §6 hat auf minecraftler.de für uns gevotet und 100 $ erhalten!
3
money give 100

[align=center][Votifier] HTTPListener 1.1 - Your freedom, all possibilities! [/align]

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


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 Loginmysql_connect("localhost", "username", "password");
mysql_select_db("database"); mysql_query("INSERT INTO votes SET username = '".$_POST["username"]."', website = '".$_POST["website"]."', timestamp = NOW()");


Geschrieben von GlowDragon

[align=center][font='Verdana, Helvetica, sans-serif']Fuer Probleme Etc. uebernehme ich keine schuld.[/font][/align]
 
Registriert
27 Januar 2012
Beiträge
162
Diamanten
0
Hey leute ;)



Ich suche schon sehr lange nach einem funktionierenden ItemListener für
das Plugin Votifier. Ich habe schon viele getestet. Bei manchen erstellt
die .class garkeine konfi datei damit ich aussuchen kann welche Spieler
was bekommen sollen.

Es wäre wirklich klasse wenn mir jemand dabei helfen könnte das zu
konfigurieren bzw. mir einen Download link geben könnte wo ein
funktionierender ItemListener drinne ist.



Skype: jan.dia1
 

Froehli

Schafhirte
Gesperrt
Registriert
19 August 2011
Beiträge
117
Diamanten
0
xapfeltortexp' schrieb:
Hey leute ;)



Ich suche schon sehr lange nach einem funktionierenden ItemListener für
das Plugin Votifier. Ich habe schon viele getestet. Bei manchen erstellt
die .class garkeine konfi datei damit ich aussuchen kann welche Spieler
was bekommen sollen.

Es wäre wirklich klasse wenn mir jemand dabei helfen könnte das zu
konfigurieren bzw. mir einen Download link geben könnte wo ein
funktionierender ItemListener drinne ist.



Skype: jan.dia1
man man man es ist so einfach guckt doch mal videos!
 

Ronnon

Minecrafter
Registriert
10 März 2012
Beiträge
6
Diamanten
0
Mal ne Frage, ich lese immer nur das man über Votifier nur Belohnungen durch Iconemy sprich ingame Geld ausgeben kann.


Kann ich auch damit Items Vergeben? Wenn ja wie?

E: Mit dem Itemlistner konnte ich leider nicht so viel anfangen ^_^
 

Ronnon

Minecrafter
Registriert
10 März 2012
Beiträge
6
Diamanten
0
Wenn ich das mit meinem Schlechten Englisch verstanden habe muss ich nun folgendes machen

Ich muss den ItemListner in den Listener Folder packen. Soweit habe ich das denke ich verstanden.

Nur wie muss ich dann im Endeffekt weiter verfahren?
 

Ronnon

Minecrafter
Registriert
10 März 2012
Beiträge
6
Diamanten
0
Also zu meinem Verständnis:

In the config file you have
item_id: 266
ammount:5
which will give the user 5 gold ingots.

Verstehe ich so, die ID 266 ist die ID für das Gold. und ammount 5 ist die Anzahl. Sprich 5Gold für das Voten


you should also be able to give multiple items by changing the config to:
item_id: 266;264
ammount: 5;1
which should give 5 gold ingots and 1 diamond to the user when they vote.

nun Beinhaltet das ;264 das Item Diamant und 1 die Anzahl. Sprich 5 Gold und 1 Diamant.

Das wäre dann richtig oder?^^
 

Ronnon

Minecrafter
Registriert
10 März 2012
Beiträge
6
Diamanten
0
Hmm. Scheint nicht zu gehen. Zumindest habe ich es nicht hinbekommen.

Mein Code war: #Item Listener Configuration
#Sat Mar 17 22:08:23 CET 2012
ammount=3
item_id=264

2 user haben gevotet aber bei keinem Kamen 3 Diamanten an.

Ich hätte dazu echt gerne mal etwas support :p
 

Discordion

Minecrafter
Registriert
4 März 2012
Beiträge
10
Diamanten
0
Also erstmal wollte ich sagen, dass das Plugin stabil und zuverlässig läuft!
Da habt ihr echt super Arbeit geleistet.

Nur habe ich festgestellt, dass man auf dem Server online sein muss um die Votebelohnung zu bekommen.
Sollte es nicht möglich sein, dass wenn ich nicht online bin und für den Server vote und dabei meinen MC-Namen angebe, dass ich die Items bekomme wenn ich später den Server join?

Danke für die Hilfe

Discordion
 

Kademlia

Minecrafter
Registriert
20 September 2011
Beiträge
24
Diamanten
0
Discordion' schrieb:
Sollte es nicht möglich sein, dass wenn ich nicht online bin und für den Server vote und dabei meinen MC-Namen angebe, dass ich die Items bekomme wenn ich später den Server join?
Eine solche Funktionalität müsstest du selber Implementieren.

Der weiter oben gepostete ItemLisener ist im übrigen schlecht implementiert. Er wird eine Exception werfen, da:

Player giveTo = Bukkit.getServer().getPlayer(username); // return value can be null
addItem(giveTo.getInventory(), true, new ItemStack[] { stack }); // POSSIBLE NPE
giveTo.updateInventory();


Die Vergabe von Items an Offline-Spieler ist m.E. schwierig, die Inventarspeicherung ist nicht zugänglich.
Die Vergabe der Items beim online gehen des Spielers ist möglich. Du müsstest aber wie gesagt selber eine 'notDeliveredItemsList' führen.
 
Oben