anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: So 15 Jun, 2025 20:13

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Fr 14 Jul, 2006 23:10 
Offline
Profi
Profi
Benutzeravatar

Registriert: So 18 Jun, 2006 18:38
Beiträge: 179
Wohnort: Herne
LoGD: http://www.mystara-logd.net/source.php
Salve,

habe folgendes problem !

mit hilfe von loganalyse erfasse ich die uniqueid acctid laston name lastip dragonkills und level!

mit einem zusatz tool kann ich RLpaare eintragen damit ich bestätigt habe das es sich bei einer IP/ID/cookie um 2 personen und nicht um einen MULIACCOUNT handelt!

meine frage ist nun wie bekomme ich es hin das die bestätigten nicht mehr in der multi analyse auftauchen?

[php]}else if ($HTTP_GET_VARS[op]=="multi"){


$ip = $idlist = $users = array();
$sql = 'SELECT uniqueid FROM accounts WHERE uniqueid!="" GROUP BY uniqueid HAVING COUNT(*) > 1';
$result = db_query($sql) or die(db_error(LINK));
while ($row = db_fetch_assoc($result)) {
$idlist[] = $row['uniqueid'];
}

output("`n`bCheat-Schlümpfe ab dem $abdatum (MoTD)`b`n`n`0");

foreach ($idlist AS $id) {
$sql = "SELECT acctid,name,lastip,uniqueid,dragonkills,level,laston FROM accounts
WHERE uniqueid = '$id' AND locked='0'
ORDER BY dragonkills ASC, level ASC";
$result = db_query($sql) or die(db_error(LINK));
while ($row = db_fetch_assoc($result)) {
$userlist[] = $row;
}
$usergroup[] = $userlist;
unset($userlist);
}

foreach ($usergroup AS $group) {
$in_acctid = '';
$i = count($group);
$cookie = $group[0]['uniqueid'];
output("`n`n`Q$i Characters mit Cookie: $cookie`0`n");
output("<table border=0 cellpadding=2 cellspacing=1 >",true);
output("<tr class='input'><td>Spieler/in</td><td>letzte IP</td><td>Drachen</td><td>Level</td><td>Last On</td><td>RL-Partner</td>",true);
foreach ($group AS $member) {
output("<tr class='trmain'>",true);
output("<td>".$member['name']."</td><td>".$member['lastip']."</td><td align='center'>"
.$member['dragonkills']."</td><td align='center'>".$member['level']."</td>",true);
$in_acctid .= ','.$member['acctid'];
$laston=round((strtotime("0 days")-strtotime($member[laston])) / 86400,0)." Tage";
if (substr($laston,0,2)=="1 ") $laston="1 Tag";
if (date("Y-m-d",strtotime($member[laston])) == date("Y-m-d")) $laston="Heute";
if (date("Y-m-d",strtotime($member[laston])) == date("Y-m-d",strtotime("-1 day"))) $laston="Gestern";
if ($loggedin) $laston="Jetzt";
output("<td>".$laston."</td>",true);
$sqlrl1 = "SELECT * FROM rlpaare WHERE acctid1='".$member['acctid']."'";
$resultrl1 = db_query($sqlrl1) or die(db_error(LINK));
$rowrl1 = db_fetch_assoc($resultrl1);
$sqlname1 = "SELECT name FROM accounts WHERE acctid='".$rowrl1['acctid2']."'";
$resultname1 = db_query($sqlname1) or die(db_error(LINK));
$rowname1 = db_fetch_assoc($resultname1);
if (db_num_rows($resultrl1) > 0) {
output("<td>".$rowname1[name]."</td>",true);
}else{
$sqlrl2 = "SELECT * FROM rlpaare WHERE acctid2='".$member['acctid']."'";
$resultrl2 = db_query($sqlrl2) or die(db_error(LINK));
$rowrl2 = db_fetch_assoc($resultrl2);
$sqlname2 = "SELECT name FROM accounts WHERE acctid='".$rowrl2['acctid1']."'";
$resultname2 = db_query($sqlname2) or die(db_error(LINK));
$rowname2 = db_fetch_assoc($resultname2);
output("<td>".$rowname2[name]."</td>",true);
}
output("</tr>",true);
}
output("</table>",true);
// -> debuglog
$sql = 'SELECT debuglog.*,date,actor,target,a1.name as actorname,a2.name as targetname
FROM debuglog LEFT JOIN accounts as a1 ON a1.acctid=debuglog.actor
LEFT JOIN accounts as a2 ON a2.acctid=debuglog.target
WHERE actor IN (-1'.$in_acctid.')
AND target IN (-1'.$in_acctid.')
AND date > "'.date("Y-m-d H:i:s",strtotime($abdatum)).'"
ORDER BY date DESC, actor ASC';
$result = db_query($sql) or die(db_error(LINK));
if (db_num_rows($result) == 0) {
output("`^Debuglog:`0`n Keine Interaktion. `@Guuuuuut.`0`n");
}
else {
output("`^Debuglog:`0`n Die folgenden Interaktionen wurden gefunden:`n");
while ($row = db_fetch_assoc($result)) {
output("`$ Log:`0 ".$row['date']." - ".$row['actorname']." ".$row['message'].
" ".$row['targetname']."`n" );
}
}
// -> houses Eigentümer
$comarray = array();
$vergehen=0;
$owner=0;
$sql = 'SELECT houseid,owner,status,housename,a1.name as hausholder
FROM houses
LEFT JOIN accounts as a1 ON a1.acctid=houses.owner
WHERE owner IN (-1'.$in_acctid.')
ORDER BY owner ASC';
$result = db_query($sql) or die(db_error(LINK));
if (db_num_rows($result) == 0) {
output("`^Häuser:`0 Keine Hauseingentümer!`0`n");
}
else {
$i = 1;
output("`^Häuser:`0`n");
while ($row = db_fetch_assoc($result)) {
$sql2 = 'SELECT houses.houseid, houses.status, a1.name as hausholder, a2.name as keyholder,
items.owner as keyowner
FROM houses, items
LEFT JOIN accounts as a1 ON a1.acctid=houses.owner
LEFT JOIN accounts as a2 ON a2.acctid=items.owner
WHERE houses.owner = '.$row[owner].'
AND items.value1 = houses.houseid
AND items.owner IN (-1'.$in_acctid.')
AND items.owner != '.$row[owner].'
ORDER BY keyholder ASC';
$result2 = db_query($sql2) or die(db_error(LINK));
if (db_num_rows($result2) == 0) {
output("Hauseingentümer ".$row['hausholder']." `@ohne Schlüssel-Vergehen!`0`n");
}
else {
while ($row2 = db_fetch_assoc($result2)) {
output("`$ Vergehen $i:`0 Hausbesitzer ist ".$row2['hausholder'].",
Schüssel hat ".$row2['keyholder']." `n");
//status als zaehler brauchen
$row2['status']= $i;
$comarray[] = $row2;
$vergehen++;
//commentary hauseigentümer über folgenden trickauslesen
//if ( $owner == 0 || $owner == $row['owner'] ) {
if ( $owner != $row['owner'] ) {
$row2['keyowner']=$row['owner'];
$comarray[] = $row2;
$owner=$row['owner'];
}
//
$i++;
}
}
}
}
// -> Houses Eigentümer commentary
$flag = 0;
if ( $vergehen > 0 ) {
$i=1;
$hoch = 0;
foreach ($comarray AS $com) {
if ( $flag == 0 ) {
output("`6Comment Summary:`0`n");
$flag++;
}
$i = $com['status'];

$section = "house-".$com['houseid'];
$author = $com['keyowner'];
$hausnr = $com['houseid'];

$sql = 'SELECT *, a1.name as actorname
FROM commentary LEFT JOIN accounts as a1 ON a1.acctid=commentary.author
WHERE author ='.$author.'
AND section ="'.$section.'"
ORDER BY commentid ASC';
$result = db_query($sql) or die(db_error(LINK));
if (db_num_rows($result) == 0) {
output("`6($i)`0 Keine Einträge`n");
}
else {
$dg = $ng = $de = $ne = 0;
while ($row = db_fetch_assoc($result)) {
$text = $row['comment'];
$wer = $row['actorname'];
$text2 = str_replace("/me ", " ", $row['comment']);
//output($row['actorname']."`0 ".$text2."`0`n" );

if ( !strpos( $text, "Edelsteine") ) {
if ( !strpos( $text, "nimmt") ) {
$tmp = str_replace("/me `@deponiert `^", "", $text);
$tmp = str_replace("`@ Gold.", "", $tmp);
$dg += $tmp;
}
else {
$tmp = str_replace("/me `\$nimmt `^", "", $text);
$tmp = str_replace("`$ Gold.", "", $tmp);
$ng += $tmp;
}
}
else {
if ( !strpos( $text, "nimmt") ) {
$tmp = str_replace("/me `@deponiert `#", "", $text);
$tmp = str_replace("`@ Edelsteine.", "", $tmp);
$de += $tmp;
}
else {
$tmp = str_replace("/me `\$nimmt `#", "", $text);
$tmp = str_replace("`$ Edelsteine.", "", $tmp);
$ne += $tmp;
}
}
}
output("`0`6($i) Haus $hausnr:`0 $wer `$ deponiert $dg Gold und $de Gems,
nimmt $ng Gold und $ne Gems.`0`n" );
}
if ( $hoch == 0 ) {
$hoch = 1;
} else {
$i++;
$hoch = 0;
}
}
}
unset($comarray);


// -> houses Bewohner
$comarray = array();
$id_alt=0;
$sql = 'SELECT items.value1, items.owner AS keyowner, houses.owner AS houseowner
FROM items
LEFT JOIN houses ON houses.houseid=items.value1
WHERE items.owner!=houses.owner AND
items.class="Schlüssel" AND
items.owner IN (-1'.$in_acctid.')
ORDER BY houses.owner ASC';
$result = db_query($sql) or die(db_error(LINK));
if (db_num_rows($result) == 0) {
output("`^Schlüssel:`0 Kein Schlüsselbesitz!`0`n");
}
else {
$i = 1;
output("`^Schlüssel:`0`n");
while ($row = db_fetch_assoc($result)) {
if ( $id_alt != $row['houseowner'] ) {
$id_alt = $row['houseowner'];
$sql2 = 'SELECT items.value1, items.owner AS keyowner, houses.owner AS houseowner,
a1.name as hausholder, a2.name as keyholder
FROM items
LEFT JOIN houses ON houses.houseid=items.value1
LEFT JOIN accounts as a1 ON a1.acctid=houses.owner
LEFT JOIN accounts as a2 ON a2.acctid=items.owner
WHERE items.owner!=houses.owner AND
items.class="Schlüssel" AND
items.owner IN (-1'.$in_acctid.')
and houses.owner = '.$id_alt.'
ORDER BY houses.owner ASC';
$result2 = db_query($sql2) or die(db_error(LINK));
if (db_num_rows($result2) == 0) {
output("Hauseingentümer ".$row['hausholder']." `@ohne Schlüssel-Vergehen!`0`n");
}
else if (db_num_rows($result2) == 1) {
$row2 = db_fetch_assoc($result2);
output("Hausbesitzer Nr. ".$row2['value1']." ist ".$row2['hausholder'].",
Schüssel hat ".$row2['keyholder']." `@Ok.`0`n");
}
else {
while ($row2 = db_fetch_assoc($result2)) {
output("`$ Vergehen $i:`0 Hausbesitzer Nr. ".$row2['value1']." ist ".$row2['hausholder'].",
Schüssel hat ".$row2['keyholder']." `n");
$comarray[] = $row2;
$i++;
}
}
}
}
}

// -> Houses Bewohner commentary
$flag = 0;
$i = 1;
foreach ($comarray AS $com) {
if ( $flag == 0 ) {
output("`6Comment Summary:`0`n");
$flag++;
}

$section = "house-".$com['value1'];
$author = $com['keyowner'];
$hausnr = $com['value1'];

$sql = 'SELECT *, a1.name as actorname
FROM commentary LEFT JOIN accounts as a1 ON a1.acctid=commentary.author
WHERE author ='.$author.'
AND section ="'.$section.'"
ORDER BY commentid ASC';
$result = db_query($sql) or die(db_error(LINK));
if (db_num_rows($result) == 0) {
output("`6($i)`0 Keine Einträge`n");
}
else {
$dg = $ng = $de = $ne = 0;
while ($row = db_fetch_assoc($result)) {
$text = $row['comment'];
$wer = $row['actorname'];
$text2 = str_replace("/me ", " ", $row['comment']);
//output($row['actorname']."`0 ".$text2."`0`n" );

if ( !strpos( $text, "Edelsteine") ) {
if ( !strpos( $text, "nimmt") ) {
$tmp = str_replace("/me `@deponiert `^", "", $text);
$tmp = str_replace("`@ Gold.", "", $tmp);
$dg += $tmp;
}
else {
$tmp = str_replace("/me `\$nimmt `^", "", $text);
$tmp = str_replace("`$ Gold.", "", $tmp);
$ng += $tmp;
}
}
else {
if ( !strpos( $text, "nimmt") ) {
$tmp = str_replace("/me `@deponiert `#", "", $text);
$tmp = str_replace("`@ Edelsteine.", "", $tmp);
$de += $tmp;
}
else {
$tmp = str_replace("/me `\$nimmt `#", "", $text);
$tmp = str_replace("`$ Edelsteine.", "", $tmp);
$ne += $tmp;
}
}
}
output("`0`6($i) Haus $hausnr:`0 $wer `$ deponiert $dg Gold und $de Gems,
nimmt $ng Gold und $ne Gems.`0`n" );
}
$i++;
}
unset($comarray);

output("`n`n");
}
addnav("Zurück zur Grotte","superuser.php");
addnav("Zurück zur Stadt","village.php");
addnav("Analyse");
addnav("Faillogs & Mails","logs.php");
addnav("MultiAccs und Vergehen","loganalysis1.php?op=multi");
addnav("Zugriffe per Usereditor","loganalysis1.php?op=userz");
addnav("Hausverkäufe","loganalysis1.php?op=haus");
addnav("Aktualisieren","loganalysis1.php?op=multi");
}[/php]


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 15 Jul, 2006 14:37 
Offline
Freak
Freak

Registriert: So 30 Okt, 2005 17:48
Beiträge: 1408
Wohnort: PB
Geschlecht: Männlich
LoGD: http://dav.blood-reaver.de/lotgd/
1. Neues Feld in die accounts-Tabell "Paare" oder so
2. In allen Querys, bei denen der Multiaccount-Sucher Userdaten liest anhand des "Paare" Feldes ausschließen.
3. Script schreiben, mit dem man solche Paare in die DB eintragen kann...

_________________
Mehr oder minder inaktiv


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 15 Jul, 2006 15:17 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Auric hat geschrieben:
1. Neues Feld in die accounts-Tabell "Paare" oder sokann...


Wobei "Paare" die Accountid des RL-Partners/Partnerin beinhalten müsste...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 15 Jul, 2006 20:52 
Offline
Profi
Profi
Benutzeravatar

Registriert: So 18 Jun, 2006 18:38
Beiträge: 179
Wohnort: Herne
LoGD: http://www.mystara-logd.net/source.php
also so in der art wie das marriedto column feld ?

habe nun eine rlpartner in der account tabelle mit drin!
und im usereditor kann ich auch manuelle die id des partners eingeben!

und wie komme ich weiter? sorry bin was db abfragen angeht noch nicht so bewandert!

das ist der code wo die paare in der DB in der tabelle rlpaare eingetragen werden!

$sql1 = "SELECT acctid,name FROM accounts WHERE name='".addslashes(rawurldecode(stripslashes($_POST['ziel1'])))."' AND locked=0";
$result1 = db_query($sql1);
$row1 = db_fetch_assoc($result1);
$sql2 = "SELECT acctid,name FROM accounts WHERE name='".addslashes(rawurldecode(stripslashes($_POST['ziel2'])))."' AND locked=0";
$result2 = db_query($sql2);
$row2 = db_fetch_assoc($result2);

$sql = "INSERT INTO rlpaare (name1,acctid1,name2,acctid2,bestaetigt,vonwem,anmerkung) VALUES ('".$row1[name]."','".$row1[acctid]."','".$row2[name]."','".$row2[acctid]."','".$_POST[best]."','".$session[user][name]."','".$_POST[anmerkung]."')";
db_query($sql);


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 15 Jul, 2006 23:55 
Offline
Profi
Profi
Benutzeravatar

Registriert: So 18 Jun, 2006 18:38
Beiträge: 179
Wohnort: Herne
LoGD: http://www.mystara-logd.net/source.php
$sql = "INSERT INTO accounts (rlpartner) ('".$row1[acctid]."','".$row2[acctid]."')";

das würde ich jetzt versuchen da einzubaun ob es klappt weiss ich aber nicht!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo 17 Jul, 2006 16:09 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
azraeldemon hat geschrieben:
$sql = "INSERT INTO accounts (rlpartner) ('".$row1[acctid]."','".$row2[acctid]."')";

das würde ich jetzt versuchen da einzubaun ob es klappt weiss ich aber nicht!


Also so klappt es eher nicht. Dann würdest du einen (fast) 'leeren Account' erstellen (ach ne, das würd warscheinlich auch nicht klappen, weil du es wenn dann immer so machen musst:
$this->bbcode_second_pass_code('', 'INSERT INTO `accounts` (1.Wert,2.Wert) VALUES (1.Value,2.value)')
)

So musst du es machen (dafür brauchst du das Feld Partner)

$this->bbcode_second_pass_code('', 'UPDATE `accounts` SET `partner` =' '.$row['acctid'].' ' WHERE `acctid` =
' '.$row2['acctid'].' '')

Und dann eben nochmal für den (bzw. die :D zweite)

$this->bbcode_second_pass_code('', 'UPDATE `accounts` SET `partner` =' '.$row2['acctid'].' ' WHERE `acctid` =
' '.$row['acctid'].' '')

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo 17 Jul, 2006 16:23 
Offline
Freak
Freak

Registriert: Mo 06 Sep, 2004 15:17
Beiträge: 3236
Geschlecht: Männlich
Erstelle doch einen weiteren Wert in einer neuen Tabelle. Dort erstellst dann noch halt weitere dinge was die Analyse angeht etc. und fertig ist.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 30 Jul, 2006 21:20 
Offline
Profi
Profi
Benutzeravatar

Registriert: So 18 Jun, 2006 18:38
Beiträge: 179
Wohnort: Herne
LoGD: http://www.mystara-logd.net/source.php
muss ich mal ausprobieren!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 01 Aug, 2006 15:21 
Offline
Profi
Profi
Benutzeravatar

Registriert: So 18 Jun, 2006 18:38
Beiträge: 179
Wohnort: Herne
LoGD: http://www.mystara-logd.net/source.php
macht er leider nicht! wirft keinen fehler aus also der code scheint richtig zu sein aber das partner feld in der accounts bleibt bei 0


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 01 Aug, 2006 16:21 
Offline
Newbie

Registriert: Mo 31 Jul, 2006 20:50
Beiträge: 3
Wohnort: Berlin
mach es dir leicht und verbiete multis... dann is sowas doch von vornerein ausgeschlossen... ich kenne server bei denen multis verboten sind... dann solln se sich meinetwegen den acc teilen..


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 01 Aug, 2006 16:27 
Offline
Freak
Freak

Registriert: Mo 06 Sep, 2004 15:17
Beiträge: 3236
Geschlecht: Männlich
Verboten ist gut, ob sie es durchsetzen können ist eine andere frage*sfg*, Ich habs direkt bei der Erstellung eines Charakters gemacht und da bin ich mehr als zuversichtlich, das es garantiert keine Multis gibt ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 01 Aug, 2006 21:07 
Offline
Profi
Profi
Benutzeravatar

Registriert: So 18 Jun, 2006 18:38
Beiträge: 179
Wohnort: Herne
LoGD: http://www.mystara-logd.net/source.php
es ist verboten mehr als einen account zu haben!

pro account nur eine email diese email darf es nur einmal geben

des weiteren wird die IP erfasst!

um aber paaren die nur einen rechner haben es zu ermöglichen unterschiedliche chars zu spielen haben wir das RLpaare system drin!

denn kann ja nicht jeder nen rechner haben , sie müssen uns nur den beweiss liefern das es sich wirklich um 2 personen handelt!

so und um die zu entdecken die meinen sich einfach mehr als einen account zu machen und sich nicht zu melden dafür ist die loganalyse aber dort werden auch die rlpaare angezeigt , des wollt ich das die dort ausgespart werden wenn sie eingetragen sind!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 27 Dez, 2006 18:11 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mi 22 Mär, 2006 17:33
Beiträge: 105
LoGD: http://www.dragulsreich.de/logd/source.php
kann mir bitte einer verraten in welchem tread die loganalysis1.php zu finden ist ich finde sie einfach nicht aber will sie doch ein bauen ^^ danke schon mal im vorraus

Edit: hat sich erledigt hab was gefunden was dem entspricht ^^

_________________
*need help*

wer will sie sehen meine arbeiten *g*

http://www.dragulsreich.de


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum