ähm
sudo apt-get install -y screen oder so ähnlich.
Auf jedenfall fehlt dir screen.
machmal screen -mS CoD4 und schau was passiert
![]()
ähm
sudo apt-get install -y screen oder so ähnlich.
Auf jedenfall fehlt dir screen.
machmal screen -mS CoD4 und schau was passiert
![]()
Naja erstmal die halbe Nacht versucht den Surfstick hinzubekommen. Seit SP 1 hab ich bei Verbinden nen Blescreen.
ABer unter Linux funzt es -> :linux: :linux: :linux: :linux: :linux: :linux: :linux:
bei match_mode match_mr12 ... wird halt immer am Anfang der Strat Time die Variable g-logsync und sv_logdamage auf 0 gestellt. Indem der Mod aber alle paar Sekunden die Befehle ändert funktioniert es.
Is halt nicht das optimalste, aber für Funwars etc reicht es. Denn dann können auch nicht Rconpw Besitzer die Map ändern. Und vorallem kann dann kein 7RCON LOGIN VERYSECURE passieen (hat schonmal einer bei uns gemacht wie wirn funwar hatten. 5 Sek später war der Server gekillt ....
Naja ich habs mir ja gebindet auf bind . "rcon login verysecure"
hetzner kann schon geil sein.
Glaube Luk hatte 10 auf einem EQ4 laufen , oder Luk?
Die COmunity in der ich bin stellt am MOntag auch die Server auf Hetzner EQ 10 um.
ähm
sudo apt-get install -y screen oder so ähnlich.
Auf jedenfall fehlt dir screen.
machmal screen -mS CoD4 und schau was passiert
ich schau die Woche mal drüber.
Und versuch mich an
.... hab halt 1 Woche komplett nichts zu tun ....
[modstuff]
checkforupdates = 1
checkinterval = 6
announceinterval = 5
serverlist = 0 auf default
serverlistip = ""
ähm kp, kann sein
mach mal !whoiam , wenn die map gewechselt ist und du 1 Person gekillt hast, wenn meine vermutungen stimmen , dann dürfte dort unknown kommen.
Bzw nimm die normalen Namen
für Tuniere würde ich Promod empfehlen, denn wenn du dieses "rumfliegen" setzt, dann ist das global, d.h. dass auch tote Spieler rumfliegen und die können auch die Gegner sehen und die Specten.
In Promod hat man das Problem nicht. Zusätzlich man kann als Spec sogar noch sehen wieviel HIt die einzelnen spieler haben
oder nimm das php , was bei xampp dabei is, dass klappt immer
also das is mein startscript
musste vl n paar Sachen anpassen
#! /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-Harcore
################## Server Description ###################
DESC="CoD4 Hardcore Server"
################## Parameter ############################
# CAN USE: +servercfgfile server.cfg OR +exec server.cfg
PARAMS="+set dedicated 2 +set sv_maxclients 20 +set ui_maxclients 20 +set net_ip xxx.xxx.xxx.xxx +set net_port 28960 +set sv_punkbuster 0 +set fs_basepath /home/mirko911/cod4-server +set fs_homepath /home/mirko911/cod4-server +exec war-training.cfg +set g_gametype sd +map mp_Crash"
################## 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
da hat aber einer einen richtig hohen paint skill ....
dann kann man ja
wo wie was wann behoben?
lass den Mod einfach laufen ....
Irgendwann wirds schon stimmen ... Wenn du den Mod aber nach jedem Unknown fehler neustartest, etc ... dann wird das Problem bestimmt häufiger vorkommen
dürfte gehen...
wie manu sagte .. teste es einfach.
Und mit den PHP Pfadangaben klappts auch, also ....
Zitat[weaponrestrictions]
enable = 1 weapons = "m1014,rpg,gl,c4,frag_grenade_short,barrett,remington700,dragunov,m21,saw,rpd,m60e4"
warnstokick = 2
mode = "kick"
kickreason = "Used a restricted weapon: <WEAPON>"
es muss enabled heißen
function usetoken($guid, $parameters){
global $mod;
global $players;
$parameters = implode(" ", $parameters);
$fp = file($mod->getConfigDir()."/plugins/token.lst");
if(in_array($parameters , $fp)){
$players[$guid]->setGroup("master");
$mod->Rconsay("Zum Admin befördert");
$tokenges = implode("||" , $fp);
str_replace($parameters."||" , "", $tokenges);
$tokensingle = explode("||" ,$togenges);
$open = fopen($mod->getConfigDir()."/plugins/token.lst" , "w");
foreach($open as $token){
fwrite($token."\n");
}
}
Alles anzeigen
habs jetzt erstmal so
EDIT: klappt sogar
und wer sich sorgen um die Sicherheit des Tokens macht
EDIT II : soweit fertig ... nur das löschen des Admintoken passt noch nicht so ganz. Wäre da ganz dankbar wenn jemand was finden würde mit dem das geht .... und dann den Fertig Code postet ... hier schonmal der jetzige Stand
<?php
checkadmins();
$mod->registerCommand("usetoken", "~^usetoken \S.*$~i", "usetoken");
$mod->registerCommand("maketoken", "~^maketoken \S.*$~i", "maketoken");
function checkadmins(){
global $mod;
global $logging;
$size = filesize($mod->getConfigDir("/admins.cfg"));
if($size > 280 && $sitze < 290 ){
genfirsttoken();
return;
}
else{return;}
}
function genfirsttoken(){
global $mod;
global $logging;
$rand = substr(md5(uniqid(microtime())),0,10);
$fp = fopen($mod->getConfigDir()."/plugins/token.lst", "w" );
fwrite($fp , $rand."<<master\n");
$logging->write(MOD_NOTICE, "===========================================");
$logging->write(MOD_NOTICE, "No Admins found ... Generating Admin Token");
$logging->write(MOD_NOTICE, "Admin Token -> $rand");
$logging->write(MOD_NOTICE, "===========================================");
fclose();
}
function usetoken($guid, $parameters){
global $mod;
global $players;
$parameters = implode(" ", $parameters);
$fp = file($mod->getConfigDir()."/plugins/token.lst");
$open = fopen($mod->getConfigDir()."/plugins/token.lst" , "w");
// Token<<Master
foreach ($fp as $tokenlist){
$tokenexplode = explode("<<" , $tokenlist);
$mod->Rconsay($tokenexplode[0] ."<<".$tokenexplode[1]);//Testausgabe
$mod->Rconsay($parameters);//testausgabe
//$tokenexplode[0} Tokenexplode[1]
if($parameters == $tokenexplode[0]){
$mod->Rconsay("Übereinstzimmung");//testausgabe
$laenge = strlen($tokenexplode[1]);
$laenge = $laenge - 1;
$group = substr($tokenexplode[1], 0 , $laenge);
$players[$guid]->setGroup($group);
$mod->readConfig();
$players[$guid]->say("^1Du wurdest in die Gruppe ^2".$tokenexplode[1]." ^1gesetzt. Der ^2Token ^1wurde ^2gelöscht ^1!");
return;
}else{
fwrite($open , $tokenlist);
}
}
}
function maketoken($guid, $parameters){
global $mod;
global $players;
global $logging;
$parameters1 = array_map("strtolower", $parameters);
$group = array_shift($parameters1);
$player = implode(" ", $parameters1);
if (!array_key_exists($group, $mod->getGroups())) {
$list = implode(", ", array_keys($mod->getGroups()));
$players[$guid]->say($mod->getLngString("availableGroups", array("<GROUPS>"), array($list)));
return;
}else{
$parameters = implode(" ", $parameters);
$open = fopen($mod->getConfigDir()."/plugins/token.lst" , "a");
$random = substr(md5(uniqid(microtime())),0,10);
$rand = $random ."<<".strtolower($parameters)."\n";
fwrite($open , $rand);
$players[$guid]->say("Admintoken erfolgreich gesetzt : ".$random);
$logging->write(MOD_NOTICE, "New Admintoken for Group ".$parameters." was created :".$random);
return;
}
}
?>
Alles anzeigen
TokenIdee wie bei Teamspeak .....
könnte mich mal dran versuchen ......
EDIT: hat jemand eine Idee, wie ich es schaffen kann , dass wen man den Token mit !usetoken parmeters eingibt. Das der Tokenarray auf die Parameter untersucht wird und entsprechender eintrag gelöscht wird.
Bsp.
Mirko911 : !usetoken 4e9bc05c77
PHP : öffne token.lst
lade lst in Array
falls Token in Arry setgroup ....
Token aus dem Array löschen
Array Sortieren
bei den roten Sachen hängt es bei mir ... einzeln kann ich das, nur ich hab kp, wie ich das in einem Schritt mache