You are not logged in.

  • "moinmoin666" started this thread

Posts: 82

Location: NRW

Occupation: Schüler Gelegenheits Programmierer/Scripter (bevorzugt PHP)

  • Send private message

1

Tuesday, October 30th 2007, 2:26am

Client IP's speichern

Hiho,
Ich wollte man fragen ob es ihrgendwo nen Plugin oder sonst wo ne Möglichkeit gibt, um alle benutzten IP's, STEAM_ID's zu zuordnen.

Ums genauer zu machen.

Ich spiele auf meinem Server, hinterlasse dort ja meine IP Addresse und ne Woche später kann ich sagen STEAM_ID_XXX_YYY spielte mit der XXXXXXXX IP addresse.

Eigentlich dient es nur dazu um festzustellen, wer komische Kommentare auf unserer Website hinterlässt... Ich hoffe es war nicht zu kompliziert erklärt.

DAnke für alle Hilfen.
mfg moinmoin666

DeaD_EyE

Administrator

Posts: 3,980

Location: Hagen

Occupation: Mechatroniker (didaktische Systeme)

wcf.user.option.userOption53: Nein

  • Send private message

2

Tuesday, October 30th 2007, 2:54am

Re: Client IP's speichern

Möglich wäre das per Eventscript. Ich stelle mir das gerade nur vor, wie in einer Datenbank (Format: KeyValues ), so um die 1000 SteamIDs pro Woche mit irgendwelchen IP-Adressen gespeichert werden. Bevor ich mir über sowas Gedanken mache, lösche ich lieber einfach die Kommentare. Vielleicht kann dir das hier jemand Scripten.

Chrisber

Administrator

Posts: 1,030

Location: localhost

wcf.user.option.userOption53: Ja

  • Send private message

3

Tuesday, October 30th 2007, 10:45am

Re: Client IP's speichern

Hi,
klar ist das möglich!

addons/eventscripts/saveip/es_saveip.txt:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
block load
{
	es_xkeygroupload savedb |saveip
}

block unload
{
	es_xkeygroupdelete savedb
}

event player_connect
{
	es_keycreate savedb event_var(address)
	es_keysetvalue savedb event_var(address) SteamID event_var(networkid)
	es_set saveip_tmpip event_var(address)
	
	es_xkeygroupsave savedb
}

event es_player_validated
{
	es_keysetvalue savedb server_var(saveip_tmpip) SteamID event_var(networkid)
	es_xkeygroupsave savedb
}


addons/eventscripts/saveip/es_saveip_db.txt

Source code

1
2
3
"saveip"
{
}


Du musst natürlich EventScripts installiert haben und die Dateien erstellen.
Dann wie immer in die cfg/autoexec.cfg:

Source code

1
es_xload saveip



So long, Chris
Und das letzte, was gesagt wird, wenn die Welt untergeht, ist: das ist technisch unmöglich.

  • "moinmoin666" started this thread

Posts: 82

Location: NRW

Occupation: Schüler Gelegenheits Programmierer/Scripter (bevorzugt PHP)

  • Send private message

4

Tuesday, October 30th 2007, 2:50pm

Re: Client IP's speichern

Hiho, danke erstmal, aber du wirst lachen, wenn ich dir jetzt erzähle das es nicht funktioniert bei mir oder?
Benutze EventScripts v1.5.0.171.

Wäre aber super. vllt noch mit Datum des Connects ;)

Naja um die größe der Datei muss ich mich nicht kümmern ich muss es ja nicht immer laufen haben *g*

mfg moinmoin666

Chrisber

Administrator

Posts: 1,030

Location: localhost

wcf.user.option.userOption53: Ja

  • Send private message

5

Tuesday, October 30th 2007, 3:36pm

Re: Client IP's speichern

Sorry, meine Dummheit xD

Datum ist nun eingearbeitet xD
Die es_saveip_db.txt kann so bleiben wie sie ist!

es_saveip.txt

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
block load
{
	es_xkeygroupload saveip |saveip
	
	es_xset eventscripts_timeformat "%d.%m.%y - %H:%M:%S"
}

block unload
{
	es_xkeygroupdelete saveip
}

event player_connect
{
	es_xset saveip_tmptime 0
	es_set saveip_tmpip event_var(address)
	
	es_xgettimestring saveip_tmptime
	
	es_keycreate saveip event_var(address)
	es_keysetvalue saveip event_var(address) SteamID event_var(networkid)
	es_keysetvalue saveip event_var(address) Datum server_var(saveip_tmptime)
	
	es_xkeygroupsave saveip
}

event es_player_validated
{
	es_keysetvalue saveip server_var(saveip_tmpip) SteamID event_var(networkid)
	es_xkeygroupsave saveip
}


So long, Chris
Und das letzte, was gesagt wird, wenn die Welt untergeht, ist: das ist technisch unmöglich.

  • "moinmoin666" started this thread

Posts: 82

Location: NRW

Occupation: Schüler Gelegenheits Programmierer/Scripter (bevorzugt PHP)

  • Send private message

6

Tuesday, October 30th 2007, 5:47pm

Re: Client IP's speichern

*g* an sich nicht schlecht, nur die frage reicht es nicht wenn ich das script lade? Also sollte ich den Server neustarten?

Ich kenn mich ja nicht so aus was eventscript anbelangt, aber so wie es jetzt ist bleibt die
es_saveip_db.txt immer noch leer...(ich dachte bei jedem connect schreibts die Daten rein, deswegen hab ich nicht mal nen Mapchange abgewartet).

Kann ja auch gut an mir legen... aber wenn dann wäre nen bissel hilfe vllt garnicht mal so schlecht*g*
Aber nicht das du denkst ich wäre nicht Dankbar, echt hammer nett von dir das du das machst!"

komischer weise sagt mir der Server auch so nen schmarn.

Source code

1
2
3
ERROR: Could not save keygroup file: cfg/events/es_saveip_db.txt!
  Error source es_saveip.txt: es_xkeygroupsave saveip
Saved: cfg/events/es_saveip_db.txt


Also dort habe ich jetzt auch die Datei und erschreibts auch richtig schön darein.. also so gesehen funktioniert es auch, nur halt nen bissel merkwürdig wo er es hinspeichert.

aber da wollte ich die es_save_db_txt garnicht haben :P
mfg moinmoin666

Chrisber

Administrator

Posts: 1,030

Location: localhost

wcf.user.option.userOption53: Ja

  • Send private message

7

Wednesday, October 31st 2007, 11:15am

Re: Client IP's speichern

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
block load
{
   es_xkeygroupload saveip |saveip
   
   es_xset eventscripts_timeformat "%d.%m.%y - %H:%M:%S"
}

block unload
{
   es_xkeygroupdelete saveip
}

event player_connect
{
   es_xset saveip_tmptime 0
   es_set saveip_tmpip event_var(address)
   
   es_xgettimestring saveip_tmptime
   
   es_keycreate saveip event_var(address)
   es_keysetvalue saveip event_var(address) SteamID event_var(networkid)
   es_keysetvalue saveip event_var(address) Datum server_var(saveip_tmptime)
   
   es_xkeygroupsave saveip |saveip
}

event es_player_validated
{
   es_keysetvalue saveip server_var(saveip_tmpip) SteamID event_var(networkid)
   es_xkeygroupsave saveip |saveip
}


So long, Chris
Und das letzte, was gesagt wird, wenn die Welt untergeht, ist: das ist technisch unmöglich.

  • "moinmoin666" started this thread

Posts: 82

Location: NRW

Occupation: Schüler Gelegenheits Programmierer/Scripter (bevorzugt PHP)

  • Send private message

8

Wednesday, October 31st 2007, 10:22pm

Re: Client IP's speichern

DAnkeschön, funzt jetzt alles PRima!
Mals schauen ob ich mir das auch noch nen bissel beibringe... aber C++ nimmt einen halt ihrgendwann voll und ganz ein :P

Mal schauen was kommt.

Danke dir auf jeden Fall für deine Hilfe!

Chrisber

Administrator

Posts: 1,030

Location: localhost

wcf.user.option.userOption53: Ja

  • Send private message

9

Wednesday, October 31st 2007, 11:40pm

Re: Client IP's speichern

Kein Problem!
Aber *hust*: Könntest du mir mal dein Tut geben, dass du benutzt um C++ zu lernen?

So long, Chris
Und das letzte, was gesagt wird, wenn die Welt untergeht, ist: das ist technisch unmöglich.

10

Wednesday, October 31st 2007, 11:50pm

Re: Client IP's speichern

hab c++ in der schule gelernt, deswegen hab ich leider kein tut zur hand, aber wenn du willst kann ich dir ne c++ basics übersicht geben, die hilft beim einstieg enrom (hat sie zumindest mir).

  • "moinmoin666" started this thread

Posts: 82

Location: NRW

Occupation: Schüler Gelegenheits Programmierer/Scripter (bevorzugt PHP)

  • Send private message

11

Friday, November 2nd 2007, 1:27am

Re: Client IP's speichern

Also versuchs hiermit:

http://www.video2brain.com/products-102.htm">http://www.video2brain.com/products-102.htm</a>

+

http://www.volkard.de/vcppkold/inhalt.html">http://www.volkard.de/vcppkold/inhalt.html</a>

Wobei ich die DVD hier liegen habe aber noch nie reingeschaut habe xD
Der kurs ist in ordnung aber ist nicht ganz so informativ.
Viel in Foren rumsuchen ist meine diviese
Naja vllt hilfts ja was ;)

mfg moinmoin666

12

Friday, November 2nd 2007, 2:50pm

Re: Client IP's speichern

Quoted from ""moinmoin666""


Viel in Foren rumsuchen ist meine diviese

ist finde ich auch am besten... allerdings sollte man die grundlagen in irgendeiner strukturierten form erstmla lernen, dann kann man selbstständig weiter machen

13

Sunday, November 4th 2007, 5:21pm

Re: Client IP's speichern

Hier sind mal die Übersichten von denen ich gesprochen hab.
die ersten beiden können sehr hilfreich sein find ich, allerdings sind es nur Übersichten, soltlest dir trotzdem ein gutes tut suchen, weil auf den Blättern nichts erklärt wird...

das dritte is noch mal ne Übersicht über Arrays und Funktionen... find ich dann nicht mehr so nützlich, aber hab gedacht ich scanns mal mit...
gonZo has attached the following images:
  • cpp1.jpg
  • cpp2.jpg
  • cpp3.jpg

  • "moinmoin666" started this thread

Posts: 82

Location: NRW

Occupation: Schüler Gelegenheits Programmierer/Scripter (bevorzugt PHP)

  • Send private message

14

Wednesday, November 21st 2007, 1:51pm

Re: Client IP's speichern

Ok, um zum Thema zurück zu kommen ;)

immoment sieht die struktur in der db.txt so aus:

Quoted

"78.49.191.XXX:27005"
{
"SteamID" "STEAM_0:0:1444XXXX"
"Datum" "01.11.07 - 13:49:12"
}
"85.178.97.XXX:57014"
{
"SteamID" "STEAM_0:0:337XXXX"
"Datum" "31.10.07 - 21:54:11"
}


was ja ganz nett ist, ich wollte aber frage ob es machbar wäre,
das ganze so aus zu bauen: (platzsparender)

Quoted

"SteamID" "STEAM_0:0:1444XXXX"
{
"IP""78.49.191.6XXX:27005"
"Datum" "01.11.07 - 13:49:12"
}
"SteamID" "STEAM_0:0:337XXXX"
{
"IP" "85.178.97.XXX:57014"
"Datum" "31.10.07 - 21:54:11"
}


was noch gailer wäre wenn immer wenn ne veränderung stattfindet die dann mit in den block geschrieben würde, also so in etwas:


Quoted

"SteamID" "STEAM_0:0:1444XXXX"
{
1
{
"IP""78.49.199.XXX:27005"
"Datum" "01.11.07 - 13:49:12"
}
2
{
"IP""78.49.191.XXX:27005"
"Datum" "02.11.07 - 15:48:18"
}
}


habs mir schon angeschaut, aber so recht bekomm ich des nicht hin, deswegen frage ich nochmal ganz lieb ;)

Chrisber

Administrator

Posts: 1,030

Location: localhost

wcf.user.option.userOption53: Ja

  • Send private message

15

Wednesday, November 21st 2007, 3:59pm

Re: Client IP's speichern

Es geht einfach nicht anders als ich es gemacht habe.
Natürlich kann ich es dir mit den SteamIDs machen.

So long, Chris
Und das letzte, was gesagt wird, wenn die Welt untergeht, ist: das ist technisch unmöglich.

Chrisber

Administrator

Posts: 1,030

Location: localhost

wcf.user.option.userOption53: Ja

  • Send private message

16

Wednesday, November 21st 2007, 4:13pm

Re: Client IP's speichern

Hi,
habs nun.
Wie immer ungetestet.
Du müsstest allerdings die alte Datenbank löschen und eine neue Anlegen, da die neue anders Aufgebaut ist!

Das Schema:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
"saveip"
{
	"STEAM_0:1:2456347"
	{
		"IPx1" "82.35.29.89:27005"
		"Datumx1" "21.11.07 - 16:12:07"
		"IPx2" "82.35.29.89:27006"
		"Datumx2" "21.11.07 - 16:13:07"
		"IPx3" "82.35.29.89:27007"
		"Datumx3" "21.11.07 - 16:14:07"
		"SaveX" "1"
}

Geht halt einfach immer so weiter.

Der Code:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
block load
{
	es_xkeygroupload saveip |saveip
	
	es_xset eventscripts_timeformat "%d.%m.%y - %H:%M:%S"
}

block unload
{
	es_xkeygroupdelete saveip
}

event player_connect
{
	es_xset saveip_tmptime 0
	es_set saveip_tmpip event_var(address)
	
	es_xgettimestring saveip_tmptime
}

event es_player_validated
{
	es_xset saveip_exist 0
	es_exists saveip_exist key saveip event_var(es_steamid)
	
	ifx false(saveip_exist) do
	{
		es_keycreate saveip event_var(es_steamid)
		es_keysetvalue saveip event_var(es_steamid) IPx1 server_var(saveip_tmpip)
		es_keysetvalue saveip event_var(es_steamid) Datumx1 server_var(saveip_tmptime)
		es_keysetvalue saveip event_var(es_steamid) SaveX 1
	}
	else do
	{
		es_xset saveip_keynummer 0
		es_xset saveip_ipstring 0
		es_xset saveip_dtstring 0
		
		es_keygetvalue saveip_keynummer saveip event_var(es_steamid) SaveX
		es_xmath saveip_keynummer + 1
		es_keysetvalue saveip event_var(es_steamid) SaveX server_var(saveip_keynummer)
		 
		es_format saveip_ipstring "es_keysetvalue saveip %1 IPx%2 %3" event_var(es_steamid) server_var(saveip_keynummer) server_var(saveip_tmpip)
		es_format saveip_dtstring "es_keysetvalue saveip %1 Datumx%2 %3" event_var(es_steamid) server_var(saveip_keynummer) server_var(saveip_tmptime)
		
		es_xcommandv saveip_ipstring
		es_xcommandv saveip_dtstring
	}
	
	es_xkeygroupsave saveip |saveip
}


So long, Chris
Und das letzte, was gesagt wird, wenn die Welt untergeht, ist: das ist technisch unmöglich.

  • "moinmoin666" started this thread

Posts: 82

Location: NRW

Occupation: Schüler Gelegenheits Programmierer/Scripter (bevorzugt PHP)

  • Send private message

17

Wednesday, November 21st 2007, 4:24pm

Re: Client IP's speichern

danke dir erstmal ;)

"saveip"
{
"0"
{
"IPx1" "91.33.254.181:27005"
"Datumx1" "21.11.07 - 16:19:24"
"SaveX" "3"
}
}

was jetzt nicht so nett ist, die Stem_ID wird nicht angezeigt, und er überschreibt die werte einfach.... der SaveX zählt aber schön mit *g*

Chrisber

Administrator

Posts: 1,030

Location: localhost

wcf.user.option.userOption53: Ja

  • Send private message

18

Wednesday, November 21st 2007, 4:26pm

Re: Client IP's speichern

In der Eile...

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
block load
{
	es_xkeygroupload saveip |saveip
	
	es_xset eventscripts_timeformat "%d.%m.%y - %H:%M:%S"
}

block unload
{
	es_xkeygroupdelete saveip
}

event player_connect
{
	es_xset saveip_tmptime 0
	es_set saveip_tmpip event_var(address)
	
	es_xgettimestring saveip_tmptime
}

event es_player_validated
{
	es_xset saveip_exist 0
	es_exists saveip_exist key saveip event_var(networkid)
	
	ifx false(saveip_exist) do
	{
		es_keycreate saveip event_var(networkid)
		es_keysetvalue saveip event_var(networkid) IPx1 server_var(saveip_tmpip)
		es_keysetvalue saveip event_var(networkid) Datumx1 server_var(saveip_tmptime)
		es_keysetvalue saveip event_var(networkid) SaveX 1
	}
	else do
	{
		es_xset saveip_keynummer 0
		es_xset saveip_ipstring 0
		es_xset saveip_dtstring 0
		
		es_keygetvalue saveip_keynummer saveip event_var(networkid) SaveX
		es_xmath saveip_keynummer + 1
		es_keysetvalue saveip event_var(networkid) SaveX server_var(saveip_keynummer)
		 
		es_format saveip_ipstring "es_keysetvalue saveip %1 IPx%2 %3" event_var(networkid) server_var(saveip_keynummer) server_var(saveip_tmpip)
		es_format saveip_dtstring "es_keysetvalue saveip %1 Datumx%2 %3" event_var(networkid) server_var(saveip_keynummer) server_var(saveip_tmptime)
		
		es_xcommandv saveip_ipstring
		es_xcommandv saveip_dtstring
	}
	
	es_xkeygroupsave saveip |saveip
}


So long, Chris
Und das letzte, was gesagt wird, wenn die Welt untergeht, ist: das ist technisch unmöglich.

  • "moinmoin666" started this thread

Posts: 82

Location: NRW

Occupation: Schüler Gelegenheits Programmierer/Scripter (bevorzugt PHP)

  • Send private message

19

Wednesday, November 21st 2007, 4:41pm

Re: Client IP's speichern

"saveip"
{
"STEAM_0:0:9365345"
{
"IPx1" "91.33.228.247:27005"
"Datumx1" "21.11.07 - 16:37:19"
"SaveX" "2"
}
}

schon besser ;) nur keinen weiteren beitrag, habe ip gewechselt, 91.33.247.192
wird aber nicht eingetragen.

mfg Mother-Brain/moinmoin666

Chrisber

Administrator

Posts: 1,030

Location: localhost

wcf.user.option.userOption53: Ja

  • Send private message

20

Wednesday, November 21st 2007, 4:46pm

Re: Client IP's speichern

Ich hasse es_commandv.
Das behinderte Ding funktioniert nie wies soll ^^

Probier mal das:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
block load
{
	es_xkeygroupload saveip |saveip
	
	es_xset eventscripts_timeformat "%d.%m.%y - %H:%M:%S"
}

block unload
{
	es_xkeygroupdelete saveip
}

event player_connect
{
	es_xset saveip_tmptime 0
	es_set saveip_tmpip event_var(address)
	
	es_xgettimestring saveip_tmptime
}

event es_player_validated
{
	es_xset saveip_exist 0
	es_exists saveip_exist key saveip event_var(networkid)
	
	ifx false(saveip_exist) do
	{
		es_keycreate saveip event_var(networkid)
		es_keysetvalue saveip event_var(networkid) IPx1 server_var(saveip_tmpip)
		es_keysetvalue saveip event_var(networkid) Datumx1 server_var(saveip_tmptime)
		es_keysetvalue saveip event_var(networkid) SaveX 1
	}
	else do
	{
		es_xset saveip_keynummer 0
		es_xset saveip_ipstring 0
		es_xset saveip_dtstring 0
		
		es_keygetvalue saveip_keynummer saveip event_var(networkid) SaveX
		es_xmath saveip_keynummer + 1
		es_keysetvalue saveip event_var(networkid) SaveX server_var(saveip_keynummer)
		 
		es_xformatv saveip_ipstring "IPx%1" saveip_keynummer
		es_xformatv saveip_dtstring "Datumx%1" saveip_keynummer
		
		es_keysetvalue saveip event_var(networkid) server_var(saveip_ipstring) server_var(saveip_tmpip)
		es_keysetvalue saveip event_var(networkid) server_var(saveip_dtstring) server_var(saveip_tmptime)
	}
	
	es_xkeygroupsave saveip |saveip
}


So long, Chris
Und das letzte, was gesagt wird, wenn die Welt untergeht, ist: das ist technisch unmöglich.