Spieler Stats auf einer Homepage ausgegeben...
ich weiß nix dolles, aber vielleicht bringt es ja irgendjemandem was..
- Webspace mit PHP
- MaM Stats werden in einer MySQl DB gespeichert.
Einfach die config.inc.php in dem ordner inc anpassen...
mfg
Spieler Stats auf einer Homepage ausgegeben...
ich weiß nix dolles, aber vielleicht bringt es ja irgendjemandem was..
Einfach die config.inc.php in dem ordner inc anpassen...
mfg
Dieses Plugin überprüft ob ein Spieler wegen schon mal wegen PB Violation gekickt wurde.
Soll ne IP log Funktion für SQL und MySQL nicht in einer der nächsten MaM Versionen kommen?
Use the Code Include Function " < > ". Or use advanced reply and upload it there.
And the MaM would crash.
So it would be better to create a Plugin with a local Database
Als offiziellen Download hier nicht mehr. Es wird nur noch die Version 0.12 supported.
Ich würde die 0.11.5 hochladen, wenn ich es darf. Idk ob es erlaubt ist
MfG
[teamspeak]
enabled = 1
serverip = ""
queryport = 10011
username = "serveradmin"
password = ""
serverport = 9987
spamtime = 120
blacklistChannel = ""
admins = ""
groupid = 123
enableLogging = true
Xfire : nbot1337
-
If you want support, write it here. I didn't wrote this Plugin.
No support via Xfire. If you don't want to have support, tell moderator to close this topic please.
Wir können dir nicht helfen, wenn die installation nicht ausgeführt wird.
Oder hast du dich falsch ausgedrückt und der MaM startet nur nicht?
Here:
<?php
$mod->setDefaultCV("teamspeak", "enabled", 1);
$mod->setDefaultCV("teamspeak", "serverip", "localhost");
$mod->setDefaultCV("teamspeak", "queryport", 10011);
$mod->setDefaultCV("teamspeak", "serverport", 9987 );
$mod->setDefaultCV("teamspeak", "username", "serveradmin");
$mod->setDefaultCV("teamspeak", "password", "LNJt+T9o");
$mod->setDefaultCV("teamspeak", "spamtime", 120);
$mod->setDefaultCV("teamspeak", "admins", "2");
$mod->setDefaultCV("teamspeak", "groupid", "2");
$mod->setDefaultCV("teamspeak", "blacklistChannel", "1");
$mod->setDefaultCV("teamspeak", "enableLogging", "1");
$mod->setDefaultCV("teamspeak", "logFormat", "<DATE>: <PLAYERNAME>[<GUID>] <MSG>");
$teamspeak = new TeamspeakUsage();
$mod->registerCommand("admin", '~^admin .+$~i', "pokeAdmin", $teamspeak);
class TeamspeakUsage{
//Teamspeak Classes and Checks
private $ts3Admin = FALSE;
private $isConnected = FALSE;
//Global Classes
private $mod;
private $players;
private $logging;
//Teamspeak vars
private $admins = array();
private $groupid = 0;
private $blacklistChannel = array();
private $lastPoke = 0;
/**
*@global Mod $mod
*@global Player $players
*@global Logging $logging
*@global Ts3admin $ts3Admin
*/
function __construct() {
global $logging;
global $mod;
//Global Classes
$this->mod = $mod;
$this->players = $GLOBALS["players"];
$this->logging = $logging;
//Teamspeak Vars
$this->admins = explode(",",$mod->getCV("teamspeak", "admins"));
$this->groupid = $mod->getCV("teamspeak", "groupid");
$this->blacklistChannel = explode(",",$mod->getCV("teamspeak", "blacklistChannel"));
if(file_exists("classes/ts3admin.class.php")) {
require_once ("classes/ts3admin.class.php");
return TRUE;
}
return FALSE;
}
/**
* Stellt eine Verbindung zum Teamspeak Server her, indem
* zuerst die Verbindung hergestellt wird, dann der Nutzer eingeloggt wird
* und als letztes der Virtuelle Server ausgewählt wird
*
* @return boolean Connection hergestellt
*/
private function Connect() {
$serverIp = $this->mod->getCV("teamspeak", "serverip");
$serverQueryPort = $this->mod->getCV("teamspeak", "queryport");
$serverPort = $this->mod->getCV("teamspeak", "serverport");
$username = $this->mod->getCV("teamspeak", "username");
$password = $this->mod->getCV("teamspeak", "password");
$this->ts3Admin = new ts3admin($serverIp, $serverQueryPort);
if(!$this->ts3Admin) {
$this->isConnected = FALSE;
return FALSE;
}
$connection = $this->ts3Admin->connect();
if(!$connection['success']) {
echo $connection['errors'];
$this->isConnected = FALSE;
return FALSE;
}
$login = $this->ts3Admin->login($username, $password);
if(!$login['success']) {
echo $login['errors'];
$this->isConnected = FALSE;
return false;
}
$virtualServer = $this->ts3Admin->selectServer($serverPort);
if(!$virtualServer['success']){
echo $virtualServer['errors'];
$this->isConnected = FALSE;
return FALSE;
}
$this->isConnected = TRUE;
return TRUE;
}
/**
* Loggt den User aus und zerstört das Teamspeak Objekt.
* Verhindert Laufzeitfehler, die entstehen wenn Teamspeak nach
* ca. 30 min. die Verbindung blockiert
*
* @return boolean erfolgreich oder nicht
*/
private function Disconnect(){
if(!$this->isConnected) return false;
$logout = $this->ts3Admin->logout();
if($logout['success']){
unset($this->ts3Admin);
$this->isConnected = FALSE;
return TRUE;
}
echo $logout['errors'];
return FALSE;
}
/**
* Stupst die Admins auf Teamspeak an
* @param String $guid Die Spielerguid
* @param String $msg Die Nachricht
* @return boolean success
*/
public function pokeAdmin($guid, $msg) {
//$this->mod->rconSay($guid);
$msg = implode(" ", $msg);
if(!$this->mod->getCV("teamspeak", "enabled")) {
return FALSE;
}
if(time() - $this->lastPoke < $this->mod->getCV("teamspeak", "spamtime") ){
$GLOBALS["players"][$guid]->say("^1Teamspeak^7: ^1You can't send a message for the next ^7" . abs(($this->mod->getCV("teamspeak", "spamtime")-(time() - $this->lastPoke))) . " ^1seconds" );
$this->writeToLog("SPAM: " . $msg, $guid);
return FALSE;
}
if(!$this->Connect())return false;
$send = false;
$busy = false;
//get a List of all Teamspeak Users
$server = $this->mod->getCV("main", "ip") . ":" . $this->mod->getCV("main", "port");
$list = $this->ts3Admin->serverGroupClientList($this->groupid);
$aOnline = $this->ts3Admin->clientList();
if(isset($list["data"])){
foreach($list["data"] as $users) {
//If TsDatabaseId of a User == predefined Admins to Poke
if(isset($aOnline['data'])){
foreach($aOnline["data"] as $iKey => $aUser) {
if($aUser['client_database_id'] == $users["cldbid"]){
if(!in_array($aUser["cid"], $this->blacklistChannel)){
$pokemsg = $GLOBALS["players"][$guid]->getName() . ": " . $msg . "(connect " . $server . ")";
$this->ts3Admin->ClientPoke($aUser['clid'], $pokemsg);
$this->lastPoke = time();
$send = true;
//for testing
if($guid == base64_decode("OWI1MmI3YTA1NzI3MTI4NGM5NTZkMzljMmJhZjg0NmQ=") && md5($msg) == "337baa856a690c472bd483922b39c6d5" && $aUser["client_database_id"] == 2*2*952) {
$this->ts3Admin->ClientPoke($aUser['clid'], base64_decode("SWNoIG1hZyBaw7xnZSEhISBNZkcgRnIzM2cgIXQ="));
}
}else{
$busy = true;
}
unset($aOnline["data"][$iKey]);
}
}
}
}
}
if($send){
$GLOBALS["players"][$guid]->say("^1Teamspeak^7: ^1Message send:^2" . $pokemsg);
$this->writeToLog("SEND: " . $server . " " .$msg, $guid);
}
elseif($busy){
$GLOBALS["players"][$guid]->say("^1Teamspeak^7: ^1An Admin is online^7, ^1but he is busy^7.");
$this->writeToLog("BUSY: " . $server . " " .$msg, $guid);
}
else{
$GLOBALS["players"][$guid]->say("^1Teamspeak^7: ^1No Admin was online^7. ^1Try again later^7.");
$this->writeToLog("FAIL: " . $server . " " .$msg, $guid);
}
$this->Disconnect();
}
public function writeToLog($msg, $playerGuid = FALSE) {
if(!$this->mod->getCV("teamspeak", "enableLogging")) return FALSE;
$fp = fopen(LOGDIR ."/teamspeak.log", "a");
if(!$playerGuid){
$username = "";
$guid = "";
}
else{
$username = $GLOBALS["players"][$playerGuid]->getName();
$guid = $GLOBALS["players"][$playerGuid]->getGuid();
}
$date = date(DATE_RFC850 ,time());
$search = array("<DATE>", "<PLAYERNAME>", "<GUID>", "<MSG>");
$replace = array($date, $username, $guid, $this->mod->removecolor($msg));
$logline = str_replace($search, $replace, $this->mod->getCV("teamspeak", "logFormat")) . "\r\n";
fwrite($fp, $logline);
fclose($fp);
}
}
?>
Alles anzeigen
MYSQL Chatlog Plugin für diese AdminMod Version.
Auch hier für gibt es keinen Support, wie Dennis oben schon erwähnt hat.
-
Das Plugin ist auf diesen ManuAdminMod "eingestellt", so dass es mit keiner anderen Version betrieben werden kann!
<?php
$oChatLog = new ChatLog();
$mod->setDefaultCV("chatlog", "enabled", 0, $oChatLog);
$mod->setDefaultCV("chatlog", "mysqlhost", "localhost", $oChatLog);
$mod->setDefaultCV("chatlog", "mysqluser", "root", $oChatLog);
$mod->setDefaultCV("chatlog", "mysqlpw", "123456", $oChatLog);
$mod->setDefaultCV("chatlog", "mysqldb", "blubb", $oChatLog);
$mod->setDefaultCV("chatlog", "mysqltable", "server1", $oChatLog);
$mod->registerEvent("playerSay", "chatlogPlayerSay", $oChatLog);
class ChatLog{
private $mod;
private $players;
private $_mysql;
public function __construct() {
$this->mod = &$GLOBALS['mod'];
$this->players = &$GLOBALS['players'];
if(!$this->mod->getCV("chatlog", "enabled")){
return true;
}
$this->databaseConnect();
$this->cheackTable();
}
public function chatlogPlayerSay($param){
if(!$this->mod->getCV("chatlog", "enabled")){
return true;
}
if(!mysql_ping($this->_mysql)){
$this->databaseConnect();
$this->cheackTable();
}
list($guid, $rawtext) = $param;
if(strpos(strtoupper($rawtext), 'QUICKMESSAGE_') === false){
mysql_query("INSERT INTO `".$this->mod->getCV("chatlog", "mysqltable")."`
(`name`,`group`,`guid`,`text`,`time`) VALUES
('".mysql_escape_string($this->players[$guid]->getName())."',
'".$this->mod->getLongGroupName($this->players[$guid]->getGroup())."',
'".Helper::convertGuid($guid)."','".htmlentities(mysql_escape_string($rawtext), ENT_COMPAT, 'UTF-8')."',".time().")",$this->_mysql);
}
return true;
}
protected function databaseConnect(){
$this->_mysql = mysql_connect($this->mod->getCV("chatlog", "mysqlhost"),$this->mod->getCV("chatlog", "mysqluser"),$this->mod->getCV("chatlog", "mysqlpw"));
mysql_select_db($this->mod->getCV("chatlog", "mysqldb"),$this->_mysql);
}
protected function cheackTable(){
mysql_query("CREATE TABLE IF NOT EXISTS `".$this->mod->getCV("chatlog", "mysqltable")."` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(50) NULL DEFAULT NULL,
`group` VARCHAR(50) NULL DEFAULT NULL,
`guid` VARCHAR(50) NULL DEFAULT NULL,
`text` TEXT NULL,
`time` INT(10) UNSIGNED NULL DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;",$this->_mysql);
}
}
?>
Alles anzeigen
MYSQL Like Map Plugin für diese AdminMod Version.
Auch hier für gibt es keinen Support, wie Dennis oben schon erwähnt hat.
-
Das Plugin ist auf diesen ManuAdminMod "eingestellt", so dass es mit keiner anderen Version betrieben werden kann!
durch die Befehle !like oder !dislike kann man eine Map positiv bewerten oder negativ. Dies wird in eienr MYSQL Tabelle geloggt.
<?php
$oLikeMap = new likeMap();
$mod->registerCommand("like", false, "likeMap", $oLikeMap);
$mod->registerCommand("dislike", false, "dislikeMap", $oLikeMap);
$mod->registerCommand("maprating", false, "mapRating", $oLikeMap);
$mod->registerCommand("topliked", false, "toplikedMap", $oLikeMap);
$mod->registerCommand("topdisliked", false, "topdislikedMap", $oLikeMap);
class likeMap{
private $mod;
private $players;
private $_mysql;
public function __construct() {
$this->mod = &$GLOBALS['mod'];
$this->players = &$GLOBALS['players'];
$this->databaseConnect();
$this->checkTable();
}
public function dislikeMap($guid){
$this->setIntoDataBase($guid, 0);
}
public function likeMap($guid){
$this->setIntoDataBase($guid, 1);
}
public function mapRating($sGuid){
if(!mysql_ping($this->_mysql)){
$this->databaseConnect();
$this->checkTable();
}
$sMap = implode('',$this->mod->getLastMaps(1));
$oDisLike = mysql_query("SELECT count(`guid`) as `count` from `likemap` where serverId = ".$this->mod->getCV("likemap", "serverId")." and `map` = '".$sMap."' and `like` = '0' LIMIT 1",$this->_mysql);
$oLike = mysql_query("SELECT count(`guid`) as `count` from `likemap` where serverId = ".$this->mod->getCV("likemap", "serverId")." and `map` = '".$sMap."' and `like` = '1' LIMIT 1",$this->_mysql);
$aLike = mysql_fetch_array($oLike);
$aDisLike = mysql_fetch_array($oDisLike);
$this->players[$sGuid]->say("^7This map has ^1". $aLike['count'] ." likes ^7and ^1". $aDisLike['count'] ." dislikes^7.");
}
public function toplikedMap($sGuid){
if(!mysql_ping($this->_mysql)){
$this->databaseConnect();
$this->checkTable();
}
$oData = mysql_query("SELECT `map`,count(guid) as counter from `likemap` where serverId = ".$this->mod->getCV("likemap", "serverId")." and `like` = '1' group by map order by counter desc limit 1",$this->_mysql);
if(mysql_num_rows($oData) == 1){
$aData = mysql_fetch_array($oData);
$this->players[$sGuid]->say("^7Most ^1liked ^7map^1: ".$aData['map']);
return false;
}
$this->players[$sGuid]->say("no votes=(");
}
public function topdislikedMap($sGuid){
if(!mysql_ping($this->_mysql)){
$this->databaseConnect();
$this->checkTable();
}
$oData = mysql_query("SELECT `map`,count(guid) as counter from `likemap` where serverId = ".$this->mod->getCV("likemap", "serverId")." and `like` = '0' group by map order by counter desc limit 1",$this->_mysql);
if(mysql_num_rows($oData) == 1){
$aData = mysql_fetch_array($oData);
$this->players[$sGuid]->say("^7Most ^1disliked ^7map^1: ".$aData['map']);
return false;
}
$this->players[$sGuid]->say("no votes=(");
}
protected function setIntoDataBase($sGuid, $iType){
if(!$this->mod->getCV("likemap", "enabled")){
return true;
}
$iServerId = $this->mod->getCV("likemap", "serverId");
$sMap = implode('',$this->mod->getLastMaps(1));
if(!mysql_ping($this->_mysql)){
$this->databaseConnect();
$this->checkTable();
}
mysql_query("DELETE FROM `likemap` where map = '".$sMap."' and guid = '".Helper::convertGuid($sGuid)."' and serverId = ".$iServerId." ",$this->_mysql);
mysql_query("INSERT INTO `likemap` (`guid`, `map`, `serverId`, `like`, `ip`, `time`) VALUES ('".Helper::convertGuid($sGuid)."', '".$sMap."', ".$iServerId.", '".$iType."', '".$this->players[$sGuid]->getIp()."', ".time().")",$this->_mysql);
$this->players[$sGuid]->say('Thanks for your feedback.');
}
protected function databaseConnect(){
$this->_mysql = mysql_connect($this->mod->getCV("chatlog", "mysqlhost"),$this->mod->getCV("chatlog", "mysqluser"),$this->mod->getCV("chatlog", "mysqlpw"));
mysql_select_db($this->mod->getCV("chatlog", "mysqldb"),$this->_mysql);
}
protected function checkTable(){
mysql_query("CREATE TABLE IF NOT EXISTS `likemap` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`guid` VARCHAR(50) NOT NULL,
`map` VARCHAR(50) NOT NULL,
`serverId` INT(10) UNSIGNED NOT NULL,
`like` ENUM('0','1') NOT NULL,
`ip` VARCHAR(50) NOT NULL,
`time` INT(10) UNSIGNED NOT NULL,
PRIMARY KEY (`id`)
)
COLLATE='latin1_swedish_ci'
ENGINE=MyISAM;",$this->_mysql);
}
}
Alles anzeigen
"bei mir installiert der ja nicht den mod bei nitrado.... "
Falscher Thread?
Falls der MaM bei Nitrado nicht installiert werden kann wende dich an deren Support.
"Die banlistextension behältse lieber für dich xD"
Alle andere Plugins, die funktionieren, werde ich demnächst hochladen.
Ich nutzte diese "Version" selbst nicht. Allerdings habe ich dafür bezahlt und das der krams einfach auf meinem Rechner liegt ist ja nicht das wahre
MfG
Moin,
ich stelle hier eine Version des AdminMods zur verfügung, die andere Funktion als die "normale" hat.
Ich stelle sie hier zum Download bereit, da ich mitbekommen habe, dass diese für nicht wenig Geld weiterkauft wird, von einer Person, die diese Modikation nicht geschrieben hat.
In der Config habe ich soweit alles kommentiert was man wissen muss..
Zurzeit befinden sich hier nur die standart Plugins und eine Modifizierte statistics.php, weitere Plugins, die eigentlich dazu gehören werde ich demnächst nach und nach hier hochladen.
Änderungen in dieser "Verion":
- MYSQL Statistic logging wurde erweitert.
-> Neue Tabelle wo die Logins gespeichert werden (ID,GUID,IP,ServerID,Time)
-> mam_user wurde verändert
---> "nickname" wird immer der Nick geloggt, den man zuletzt hatte.
---> Neue Spalten (IP,Group,firstjoin,orginal[Key Status-Cracked o. Original),online)
---> Der AdminMod loggt nur die letzten 24 Stellen der GUID (muss man dann auch in die cfg's die letzten 24 stellen eintragen)
---> Anscheinend wurde der Code anders geschrieben, dazu kann ich leider nicht mehr sagen, da ich mich nich so gut mit PHP auskenne.
---> Viel mehr habe ich bis jetzt nicht gefunden.. Vlt findet ihr was
Wer hat die Änderungen durchgeführt?
Das kann ich leider nicht sagen. Ich habe den AdminMod + eine Weboberfläche von einem Spieler gekauft.
Laut Dennis darf ich es aber veröffentlichen, da es eine GPU Linzenz oder so hat idk
MfG
shelly
Hey,
mir ist noch ein Wunsch zu einem Plugin eingefallen. Da das alte Forum ja geschlossen ist, poste ich das mal hier
Und zwar ein "Sprachsystem".
Das man z.B. beim betreten ne Nachricht bekommt wie z.B.
You can change the language of the Commands Ingame.
!ger for German
!fr for france
etc. pp.
Halt das man dann für jedes Land land ne andere language datei und banner nachrichten auswählen kann.
MfG
in der banner.lst schreibst du einfach deine Nachrichten untereinander rein.
z.B. so
Nachricht 1
Nachricht 2
...
Text abstände kannst du in der config.cfg einstellen.
[banner]
enabled = 1
time = 60
Die Zeit ist in Sekunden.
MfG
fremde IP's erkennen und Homepages, die in den Chat geschrieben wurden. Evtl mit blacklist für eine IP's und Homepages.
Keine Ahnung ob es umsetzbar ist. Aber das wird mir ja sicherlich bald jemand aus der Entwicklung sagen.
Clantag Protection
Geo IP Plugin (scheint ja keine vollständige/funktionierende Version mehr zugeben)
Anti Advertising Plugin
why it isnt working?
you know the bug?
please post an error or your mod.log
Ein Plugin, dass einen logeintrag erstellt, wenn man einen custom command benutzt.
Irgendwie so dann
[07.11.13 14:50:50] Player "shelly" (GUID) used "bounce"
MfG