Also bei mir sind eig alle Waffen deaktiviert nur die Scopes sind erlaubt.
Wo habe ich was verpasst? o_O
Modwarfe ist normal gestartet
LG
und was is jetzt dein Problem?
Also bei mir sind eig alle Waffen deaktiviert nur die Scopes sind erlaubt.
Wo habe ich was verpasst? o_O
Modwarfe ist normal gestartet
LG
und was is jetzt dein Problem?
vln php script schreiben.
Manu hats ja auch geschafft, dass SQlite ausgelesen und eingelesen wird.
versuch mal die, die kappt bei mir immer
#! /bin/sh
################## Vars #################################
# Screen NAME
# Attach Screen : # screen -r NAME
# Detach Screen : # [CTRL]+[A]; [D]
# Don't press [CTRL]+[C] it will terminate screen
NAME=CoD4-Promodwarserver
################## Server Description ###################
DESC="CoD4 Prowar Server"
################## Parameter ############################
# CAN USE: +servercfgfile server.cfg OR +exec server.cfg
PARAMS="+set dedicated 2 +set fs_game mods/promodlive211 +set sv_maxclients 16 +set net_ip IP +set net_port 28961 +set sv_punkbuster 1 +set fs_basepath /home/mirko911/cod4-server +set fs_homepath /home/mirko911/cod4-server +exec proserver.cfg +g_gametype war +map mp_crash +promod_mode strat +set sv_hostname ^1Fr33g !t's ^2War ^3Server"
################## Directory ############################
DIR=/home/mirko911/cod4-server
################## DAEMON ##############################
SCRIPT=cod4_lnxded
########################################################
DAEMON=$DIR/$SCRIPT
case "$1" in
start)
if [[ `screen -ls | grep $NAME` ]]
then
echo "$DESC läuft bereits!"
else
echo "Starte $DESC "
cd $DIR; screen -d -m -S $NAME $DAEMON $PARAMS
fi
;;
stop)
if [[ `screen -ls | grep $NAME` ]]
then
echo -n "Stoppe $DESC "
kill `ps aux | grep -i screen | grep -i $NAME | awk '{print $2}'`
echo " ... done."
else
echo "Kein laufenden $DESC gefunden!"
fi
;;
restart)
if [[ `screen -ls | grep $NAME` ]]
then
echo -n "Stoppe $DESC "
kill `ps aux | grep -i screen | grep -i $NAME | awk '{print $2}'`
echo " ... done."
else
echo "Kein laufenden $DESC gefunden!"
fi
echo -n "Starte $DESC"
cd $DIR; screen -d -m -S $NAME $DAEMON $PARAMS
echo " ... done."
;;
status)
ps aux | grep -v grep | grep $NAME > /dev/null
CHECK=$?
[ $CHECK -eq 0 ] && echo "$DESC ist online" || echo "$DESC ist offline"
;;
*)
echo "Benutze: $0 {start|stop|restart|status}"
exit 1
;;
esac
exit 0
Alles anzeigen
@Manu->mir : stimmt Anfängerfail ......
2 vor Jahren, war da schon 1.7 drausen?
Wenn nicht könnte man ja mal auf den ganzen Servern von den Leuten im Forum tesetn. Die sagen dann klappt , klappt net
ähm ne, man könnte es fixen mit einem !mod command , der den mod über Rcon startet und direckt danach ne neue Config file ausführt
function mod ($guid , $params){
global $mod;
global $players;
$params = explode (" " , $params);
$mod->Rconrcon("fs_game mod/".$params);
}
wies weitergeht müsste ich erst nachschauen. Bin mir auch net so ganz sicher, obs wirklich params hies xD. Aber die Richtung dürfte es sein
xD SLIMEFARMING . Hab in 1 Tag 12 Stacks
aber die Begrüßung kommt immer erst, wenn der Spieler ein Team gewählt hat ...
der MAM erkennt doch erst Leute, wenn sie wirklich aufm dem Server sind , oder?
Ich hatte früher immer damit Probleme Leute zu kicken, die gerade am Connecten waren. IS das nicht bei Mapdownloads das selbe?
Und ist der Ping bei einem connect nicht bei -1
lass mich Raten. Dein System ist mit einer Ubuntu Xubuntu Kubuntu oder sonst einer der Version der Ubuntu Palette ausgestattet?
Hab den Fehler auch auf meinem Ubuntu Test Home Server ...
Seit wann hast du denn einen neuen Namen?.
Und ja, CoD 2 Server spacken schonmal rum ....
schau mal auf Opferlammclan nach, die haben gute TUts für die Basic Server einrichtung. Hab damals damit auch Angefangen. Wenn du so halbwegs weißt was eine Server Config ist, dann kannst du dich mal mit dem Adminmod versuchen.
Wichtig für MAM wären:
Logeinstellungen,
Logpfade
Rcon PW
(unter Linux -> kleines Wissen über Schreibrechte
==========
später:
leichte MYSQL kenntnisse (für Stats , Banlisten und andere Ausgaben#
die roten DInge sind die wichtigsten , ohne die ist der MAM wie Gravel in Minecraft . Zwar da, aber du kannst damit nichts anfangen (Geiler Vergleich xD)
nutze mal !pl
und dann !kick *Die Zahl von PL*
ohne die* *
cod 4 ansich kann bei der Serverliste Pings über 999 anzeigen
damn xD, hab schon nach dem Namen gesucht, aber iwie nichts gefunden.
sooooooooooooooooooo einfach
ne is aus ...
kp, ob das irgendein Bug ist, aber ich Poste es mal
Error
ZitatAlles anzeigen1154:44 [29.07.11 15:06:24] Notice: Player '#13 BouNTy' joined, PID: 5, GUID: 0f524a52a3881d1138e934fd6060d49d
1154:44 [29.07.11 15:06:46] PHP-Error: Warning in home/mirko911/cod4-server/adminmod/plugins/plugin_iplogger.php:210 => socket_connect(): unable to connect [110]: Connection timed out
1155:11 [29.07.11 15:06:51] Notice: Player 'HobbyPapst' joined, PID: 6, GUID: 9be48954740f228c58598c0fc5379887
1155:11 [29.07.11 15:07:12] PHP-Error: Warning in home/mirko911/cod4-server/adminmod/plugins/plugin_iplogger.php:210 => socket_connect(): unable to connect [110]: Connection timed out
1155:11 [29.07.11 15:07:17] Notice: Banner message was sent: ^2Du willst dem 2Clan beitreten? Dann sprech einen ^1Admin ^2an oder komm auf unseren ^1Teamspeak 3 ^2Server
1155:14 [29.07.11 15:07:17] Notice: Player '#13 BouNTy' changed name to '#16 BouNTy', PID: 5, GUID: 0f524a52a3881d1138e934fd6060d49d
[29-Jul-2011 15:07:18] PHP Fatal error: Call to undefined function iplogger_log_namechan--ge() in /home/mirko911/cod4-server/adminmod/classes/mod.class.php on line 204
Das Rote ist der Fehler, das grüne ist meine Schuld, da ich dem Plugin noch einen Socketserver angehangen habe, um angepiepst zu werden, wenn einer connectet
Das is die File
<?php
$mod->registerEvent("playerJoined", "iplogger_log_joined");
$mod->registerEvent("playerNameChange", "iplogger_log_namechan--ge");
$mod->registerEvent("playerJoined", "iplogger_log_sorted_joined");
$mod->registerEvent("playerNameChange", "iplogger_log_sorted_namechange");
$mod->setDefaultCV("iplog", "enabled", "1");
$mod->setDefaultCV("iplog", "S_enabled", "1");
$mod->setDefaultCV("iplog", "dateformat", "d.n.Y, G:i");
$mod->setDefaultCV("iplog", "logformat_joined", "[{date}] {action}: -- Name: {name} - IP: {ip} - GUID: {guid}{break}");
$mod->setDefaultCV("iplog", "logformat_namechange", "[{date}] {action}: -- Old: {oldname} - New: {newname} - IP: {ip} - GUID: {guid}{break}");
$logkickbans_filehandle = fopen(LOGDIR . "/kickbans.log", "a");
function iplogger_log_joined($guid) {
global $mod;
global $players;
if(!$mod->getCV("iplog", "enabled")) {
return;
}
$iplog_fp_log = fopen(LOGDIR . "/iplogger_log.txt", "a");
$action = "Player joined";
$playerlist = $mod->rconPlayerlist();
foreach ($playerlist as $value) {
if ($guid == $value["guid"]) {
$name = $value["name"];
$ip = $value["ip"];
$name = $mod->removecolor($name);
$log_text = replacetext($action, $name, $ip, $guid);
writetosocketserver(replacetext($action, $name, $ip, $guid));
fwrite($iplog_fp_log, replacetext($action, $name, $ip, $guid));
fclose($iplog_fp_log);
}
}
}
function iplogger_log_namechange($param) {
global $mod;
global $players;
if(!$mod->getCV("iplog", "enabled")) {
return;
}
$name = false;
$iplog_fp_log = fopen($mod->getConfigDir()."/plugins/iplogger_log.txt", "a");
list($guid, $old_name, $new_name) = $param;
$action = "Player changed name";
$playerlist = $mod->rconPlayerlist();
foreach ($playerlist as $value) {
if ($guid == $value["guid"]) {
$ip = $value["ip"];
$name_old = $mod->removecolor($old_name);
$name_new = $mod->removecolor($new_name);
$log_text = replacetext($action, $name, $ip, $guid, $old_name, $new_name);
fwrite($iplog_fp_log, replacetext($action, $name, $ip, $guid, $old_name, $new_name));
fclose($iplog_fp_log);
break;
}
}
}
function iplogger_log_sorted_joined ($guid) {
global $mod;
global $players;
if(!$mod->getCV("iplog", "S_enabled")) {
return;
}
$playerlist = $mod->rconPlayerlist();
foreach ($playerlist as $value) {
if ($guid == $value["guid"]) {
$name = $value["name"];
$ip = $value["ip"];
break;
}
}
$name = $mod->removecolor($name);
$file = $mod->getConfigDir()."/plugins/iplogger_guid.txt";
$arr_sorted_log = file($file);
$change_arr = false;
if($key_guid = array_search("[".$guid."]\n", $arr_sorted_log) and $key_guid >= 0) {
$key_ip = $key_guid+1;
$key_name = $key_guid+2;
if(!ereg("'".$ip."'", $arr_sorted_log[$key_ip])) {
$arr_sorted_log[$key_ip] = str_replace("\n", "", $arr_sorted_log[$key_ip]);
$arr_sorted_log[$key_ip].= " '".$ip."';\n";
$change_arr = true;
}
if(!ereg("'".$name."'", $arr_sorted_log[$key_name])) {
$arr_sorted_log[$key_name] = str_replace("\n", "", $arr_sorted_log[$key_name]);
$arr_sorted_log[$key_name].= " '".$name."';\n";
$change_arr = true;
}
if($change_arr) {
$write_string = implode("", $arr_sorted_log);
$iplog_fp_sort = fopen($mod->getConfigDir()."/plugins/iplogger_guid.txt", "w");
fwrite($iplog_fp_sort, $write_string);
fclose($iplog_fp_sort);
}
} else {
$arr_write = array();
$arr_write[0] = " ";
$arr_write[1] = "[".$guid."]";
$arr_write[2] = "IPs : '".$ip."';";
$arr_write[3] = "Names: '".$name."';\n";
$write_string = implode("\n", $arr_write);
$iplog_fp_sort = fopen($mod->getConfigDir()."/plugins/iplogger_guid.txt", "a");
fwrite($iplog_fp_sort, $write_string);
fclose($iplog_fp_sort);
}
}
function iplogger_log_sorted_namechange($params) {
global $mod;
global $players;
if(!$mod->getCV("iplog", "S_enabled")) {
return;
}
list($guid, $oldname, $newname) = $params;
$oldname = $mod->removecolor($oldname);
$newname = $mod->removecolor($newname);
$file = $mod->getConfigDir()."/plugins/iplogger_guid.txt";
$arr_sorted_log = file($file);
$change_arr = false;
if($key_guid = array_search("[".$guid."]\n", $arr_sorted_log) and $key_guid >= 0) {
$key_name = $key_guid+2;
if(!ereg("'".$newname."'", $arr_sorted_log[$key_name])) {
$arr_sorted_log[$key_name] = str_replace("\n", "", $arr_sorted_log[$key_name]);
$arr_sorted_log[$key_name].= " '".$newname."';\n";
$change_arr = true;
}
if($change_arr) {
$write_string = implode("", $arr_sorted_log);
$iplog_fp_sort = fopen($file, "w");
fwrite($iplog_fp_sort, $write_string);
fclose($iplog_fp_sort);
}
} else {
$arr_write = array();
$arr_write[0] = " ";
$arr_write[1] = "[".$guid."]";
$arr_write[2] = "IPs :";
$arr_write[3] = "Names: '".$newname."';\n";
$write_string = implode("\n", $arr_write);
$iplog_fp_sort = fopen($file, "a");
fwrite($iplog_fp_sort, $write_string);
fclose($iplog_fp_sort);
}
}
function replacetext($action, $name, $ip, $guid, $oldname=false, $newname=false) {
global $mod;
if($action == "Player joined") {
$logformat = $mod->getCV("iplog", "logformat_joined");
$logformat = str_replace("{date}", date($mod->getCV("iplog", "dateformat")), $logformat);
$logformat = str_replace("{action}", $action, $logformat);
$logformat = str_replace("{name}", $name, $logformat);
$logformat = str_replace("{ip}", $ip, $logformat);
$logformat = str_replace("{guid}", $guid, $logformat);
$logformat = str_replace("{break}", "\n", $logformat);
} else {
$logformat = $mod->getCV("iplog", "logformat_namechange");
$logformat = str_replace("{date}", date($mod->getCV("iplog", "dateformat")), $logformat);
$logformat = str_replace("{action}", $action, $logformat);
$logformat = str_replace("{oldname}", $oldname, $logformat);
$logformat = str_replace("{newname}", $newname, $logformat);
$logformat = str_replace("{ip}", $ip, $logformat);
$logformat = str_replace("{guid}", $guid, $logformat);
$logformat = str_replace("{break}", "\n", $logformat);
}
return $logformat;
}
function writetosocketserver($msg){
$ipadress = gethostbyname('****');
$address = $ipadress;
$port = 24232;
/* Create a TCP/IP socket. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
return;
}
$result = socket_connect($socket, $address, $port);
if ($result === false) {
return;
}
socket_write($socket, $msg, strlen($msg));
socket_close($socket);
}
?>
Alles anzeigen
und das ist die IPLOGGER.txt
hab schon crosshair IV Formula ...
wie gesagt @work
Eine Art Ultrastats ist in Arbeit .....
Diese Version die in Arbeit ist, sollte mehr funktionen bringen, als die einzelnen Webserver Module für MAM
es gibt auch jdownloader für Linux als Consolenform. Der hat dann ein Webinterface, wo man drauf zugreifen kan. Hatn Kumpel von mir glaubig mal auf unserem Schulserver instaliert
Pfad: Adminmod/languages/de/main.lst Zeile 88 -> playerHasForgiven = "<VICTIM> ^2hat einen letzten Teamkill durch ^7<KILLER> ^2vergeben"
Pfad: Adminmod/languages/en/main.lst Auch Zeile 88 -> forgiveMessage = "^2You have been teamkilled by ^1<NAME>^2, use !f in the next <TIME>s to forgive this teamkill"
Alle Nachrichten die beim reinen Adminmod dabei sind, sind in diesen Sprachfiles.