You are not logged in.

Dear visitor, welcome to sourceserver.info. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

Jean

Trainee

  • "Jean" started this thread

Posts: 104

wcf.user.option.userOption53: Nein

  • Send private message

1

Saturday, July 5th 2014, 5:51pm

Spieler Speichern

Guten Tag ich bin gerade dabei wieder einen Server aufzubauen.
Ich hatte mal vor Langer Zeit ein Plugin für Eventscripts.
Das ist aber leider inzwischenzeit veraltet und geht nicht mehr.
Da ich nur noch mit Soucemod Arbeiten möchte wolle ich mal Fragen ob mir das hier jemand evtl. schrieben kann.

Das sind das Plugins ist. Jeder Spieler der mal auf den Server gekommen ist soll in eine Datenbank Abgespeichert werden.
Nach allen 300 Sekunden oder so soll in Chate eine Naricht kommen. Wie viele Spieler schon einmal auf den Server gespielt haben.

[Server] Wir haben zur Zeit "Spieleranzahl" registrierte Spieler!

Hier ist mal das Plugin von Eventscripts evtl. hilft euch das ja etwas weiter für den aufbau in Soucemod.

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
anzeigezeit = 300 # in sek

import es
import cPickle
import gamethread
from path import path
p = path(str(__file__)).dirname().replace('\\', '/')
db = p + '/player.db'

<span class="posthilit">spieler</span> = list()

try:
	file = open(db)
	<span class="posthilit">spieler</span> = cPickle.load(file)
	file.close()
except:
	pass

def player_activate(event_var):
	sid = event_var['es_steamid']

	if not sid in <span class="posthilit">spieler</span>:
    	<span class="posthilit">spieler</span>.append(sid)

def round_end(event_var):
	savedb()

def savedb():
	file = open(db, 'wb')
	cPickle.dump(<span class="posthilit">spieler</span>, file)
	file.close()

def unload():
	gamethread.cancelDelayed('_message')

def load():
	message()

def message():
	es.msg('#multi', '#green[#lightgreenServer#green]#default Wir haben zur Zeit #green%s#default <span class="posthilit">registrierte</span> <span class="posthilit">Spieler</span>!'%len(<span class="posthilit">spieler</span>))
	gamethread.delayedname(anzeigezeit, '_message', message, ())


Hoffe mir könnte das jemand machen.

HSFighter

Administrator

Posts: 1,517

Location: Flensburg

Occupation: Industrieelektroniker

wcf.user.option.userOption53: Nein

  • Send private message

2

Saturday, July 5th 2014, 7:50pm

Hallo Jean,

installiere dir mal dieses Plugin: https://forums.alliedmods.net/showthread.php?p=949571
Wenn es bei dir läuft, bitte nochmal melden.

Ich sende dir dann eine Modifizierte Version die deiner Beschreibung entspricht.

Gruß
HSFighter



-
Anti Cheat: www.smacbans.com
Kein direkter Support per PM (nur auf Anforderung)

Jean

Trainee

  • "Jean" started this thread

Posts: 104

wcf.user.option.userOption53: Nein

  • Send private message

3

Sunday, July 6th 2014, 10:16pm

Also das Plugin laut server würde es laufen.
Kommt aber keine Chat Naricht fals die überhaupt vorhanden sein sollte in diesen Plugin

Was ich noch nicht ganz genau weiß wie und wo Speichert er die Spieler ab.

Und muss ich sonst noch was machen auser das Plugin auf Server zu laden oder muss ich da eine Datenbase anlegen`?

Und für was ist das und muss ich damit was machen?

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
CREATE TABLE `player_tracker` (
  `id` int(11) NOT NULL auto_increment,
  `steamid` varchar(255) NOT NULL,
  `playername` varchar(255) NOT NULL,
  `playerip` varchar(255) NOT NULL,
  `servertype` varchar(255) NOT NULL,
  `serverip` varchar(255) NOT NULL,
  `serverport` varchar(255) NOT NULL,
  `geoipcountry` varchar(255) NOT NULL,
  `status` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `steamid` (`steamid`),
  KEY `playername` (`playername`),
  KEY `playerip` (`playerip`),
  KEY `servertype` (`servertype`),
  KEY `serverip` (`serverip`),
  KEY `status` (`status`)
);

rain

Super Moderator

Posts: 1,410

Location: Lutherstadt Wittenberg

Occupation: Anlagenmechaniker

wcf.user.option.userOption53: Ja

  • Send private message

4

Monday, July 7th 2014, 10:52am

Du benötigst eine SQL Daten bank und der quellcode ist für sql gedacht!





Jean

Trainee

  • "Jean" started this thread

Posts: 104

wcf.user.option.userOption53: Nein

  • Send private message

5

Monday, July 7th 2014, 3:02pm

Mhh ich hätte noch ne Mysql datenbank zur Verfügung aber keine sql.
Oder könnte man da auch eine mysql datenban benutzen?

fluxX

Super Moderator

Posts: 1,056

Location: Österreich

Occupation: IT Systemadministrator

wcf.user.option.userOption53: Ja

  • Send private message

6

Monday, July 7th 2014, 6:21pm

rain meinte natürlich ne mysql Dantebank, klar kannst du diese benutzen, musste du auch.

Greetz

Jean

Trainee

  • "Jean" started this thread

Posts: 104

wcf.user.option.userOption53: Nein

  • Send private message

7

Monday, July 7th 2014, 6:36pm

Aso ok,
Aber was muss genau in die databases.cfg
Stimmt das so?

"player_tracker"
{
"driver" "mysql"
"host" "localhost"
"database" "player_tracker"
"user" "..."
"pass" "..."
}

fluxX

Super Moderator

Posts: 1,056

Location: Österreich

Occupation: IT Systemadministrator

wcf.user.option.userOption53: Ja

  • Send private message

8

Monday, July 7th 2014, 7:01pm

Laut Quellcode wird der default Eintrag benutzt.

Source code

1
2
3
4
5
6
7
8
9
10
	"default"
	{
		"driver"			"mysql"
		"host"				"localhost"
		"database"			"player_tracker"
		"user"				"..."
		"pass"				"..."
		//"timeout"			"0"
		"port"				"3306"
	}

Greetz

Jean

Trainee

  • "Jean" started this thread

Posts: 104

wcf.user.option.userOption53: Nein

  • Send private message

9

Tuesday, July 8th 2014, 1:03pm

Hab die Fehlermeldung von den Plugin erhalten.
Was muss ich da machen?

L 07/08/2014 - 12:56:22: [tracker.smx] Failed to connect to database: [2002]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Bara

Professional

Posts: 834

wcf.user.option.userOption53: Ja

  • Send private message

10

Tuesday, July 8th 2014, 3:03pm

Sollte der MySQL-Server auf den gleichen Root/vServer laufen sollte das hier helfen:

Source code

1
ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock

ansonsten sollte beides getrennt sein muss "host" geändert werden.

Jean

Trainee

  • "Jean" started this thread

Posts: 104

wcf.user.option.userOption53: Nein

  • Send private message

11

Tuesday, July 8th 2014, 4:55pm

Mhh gute Frage
Hab die Datenbank von meinen Serveranbieter bekommen
Und lass das halt über phpMyAdmin laufen.

Kann ich da was machen über phpAMyAdmin oder muss ich da meinen Anbieter fragen?

Bara

Professional

Posts: 834

wcf.user.option.userOption53: Ja

  • Send private message

12

Tuesday, July 8th 2014, 5:44pm

Dann solltest du eine IP oder Hostname bekommen haben, schau am besten in deiner Bestellbestätigung, etc. ob du dort was findest. Wenn nicht einfach mal dein Hoster fragen.

Jean

Trainee

  • "Jean" started this thread

Posts: 104

wcf.user.option.userOption53: Nein

  • Send private message

13

Tuesday, July 8th 2014, 6:42pm

Horstname is localhost

Bara

Professional

Posts: 834

wcf.user.option.userOption53: Ja

  • Send private message

14

Tuesday, July 8th 2014, 10:06pm

Solltest du kein (SSH) Zugang haben und der MySQL Server wirklich auf den gleichen Root/vServer ist, müsstest du dein Hoster anschreiben ob er diesen Befehl ausführen kann -> [CS:S] Spieler Speichern
Horstname is localhost

Horstname wäre mir neu :-D

uniQue

Intermediate

Posts: 409

Occupation: Kaufman im Einzelhandel

wcf.user.option.userOption53: Ja

  • Send private message

15

Tuesday, July 8th 2014, 10:38pm

Das Problem hatte ich auch :). Schreib am besten dein Anbieter an. Die sollen es so einstellen das es automatisch ausgeführt wird falz du mal Root Restart machen solltest. Sonst musst du es jedesmal selber per SSH eintippen oder jedesmal dein Anbieter anschreiben.

Sollte der MySQL-Server auf den gleichen Root/vServer laufen sollte das hier helfen:


Source code

1
ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock


MfG
uniQue

Jean

Trainee

  • "Jean" started this thread

Posts: 104

wcf.user.option.userOption53: Nein

  • Send private message

16

Friday, July 11th 2014, 9:51am

Danke für eure Hilfe :D
Plugin läuft jetzt so weit :D

Sollte mich ja noch einmal melden bei dir HSFighter wenn das Plugin läuft.

HSFighter

Administrator

Posts: 1,517

Location: Flensburg

Occupation: Industrieelektroniker

wcf.user.option.userOption53: Nein

  • Send private message

17

Saturday, July 12th 2014, 12:16am

Anbei das Modifizierte Plugin.

Einfach die "tracker.smx" ersetzen und das Plugin neu laden.

Es gibt auch eine neue Cvar:

Source code

1
2
3
4
5
6
// Rate in seconds adverts is shown
// -
// Default: "300.0"
// Minimum: "60.000000"
// Maximum: "900.000000"
sm_tracker_smgrate "300.0"
Diese bitte in der config (../cfg/sourcemod/tracker.cfg) hinzufügen.

Viel Spaß
HSFighter has attached the following files:
  • tracker.smx (6.38 kB - 145 times downloaded - latest: Apr 22nd 2024, 4:31pm)
  • tracker.sp (7.66 kB - 120 times downloaded - latest: Apr 22nd 2024, 4:31pm)



-
Anti Cheat: www.smacbans.com
Kein direkter Support per PM (nur auf Anforderung)