Sie sind nicht angemeldet.

Jean

Schüler

  • »Jean« ist der Autor dieses Themas

Beiträge: 104

Rootserver vorhanden: Nein

  • Nachricht senden

1

Samstag, 5. Juli 2014, 17:51

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.

Quellcode

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

Beiträge: 1 517

Wohnort: Flensburg

Beruf: Industrieelektroniker

Rootserver vorhanden: Nein

  • Nachricht senden

2

Samstag, 5. Juli 2014, 19:50

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

Schüler

  • »Jean« ist der Autor dieses Themas

Beiträge: 104

Rootserver vorhanden: Nein

  • Nachricht senden

3

Sonntag, 6. Juli 2014, 22:16

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?

Quellcode

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

Beiträge: 1 410

Wohnort: Lutherstadt Wittenberg

Beruf: Anlagenmechaniker

Rootserver vorhanden: Ja

  • Nachricht senden

4

Montag, 7. Juli 2014, 10:52

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





Jean

Schüler

  • »Jean« ist der Autor dieses Themas

Beiträge: 104

Rootserver vorhanden: Nein

  • Nachricht senden

5

Montag, 7. Juli 2014, 15:02

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

Beiträge: 1 056

Wohnort: Österreich

Beruf: IT Systemadministrator

Rootserver vorhanden: Ja

  • Nachricht senden

6

Montag, 7. Juli 2014, 18:21

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

Greetz

Jean

Schüler

  • »Jean« ist der Autor dieses Themas

Beiträge: 104

Rootserver vorhanden: Nein

  • Nachricht senden

7

Montag, 7. Juli 2014, 18:36

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

Beiträge: 1 056

Wohnort: Österreich

Beruf: IT Systemadministrator

Rootserver vorhanden: Ja

  • Nachricht senden

8

Montag, 7. Juli 2014, 19:01

Laut Quellcode wird der default Eintrag benutzt.

Quellcode

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

Schüler

  • »Jean« ist der Autor dieses Themas

Beiträge: 104

Rootserver vorhanden: Nein

  • Nachricht senden

9

Dienstag, 8. Juli 2014, 13:03

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)

10

Dienstag, 8. Juli 2014, 15:03

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

Quellcode

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

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

Jean

Schüler

  • »Jean« ist der Autor dieses Themas

Beiträge: 104

Rootserver vorhanden: Nein

  • Nachricht senden

11

Dienstag, 8. Juli 2014, 16:55

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?

12

Dienstag, 8. Juli 2014, 17:44

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

Schüler

  • »Jean« ist der Autor dieses Themas

Beiträge: 104

Rootserver vorhanden: Nein

  • Nachricht senden

13

Dienstag, 8. Juli 2014, 18:42

Horstname is localhost

14

Dienstag, 8. Juli 2014, 22:06

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

Fortgeschrittener

Beiträge: 409

Beruf: Kaufman im Einzelhandel

Rootserver vorhanden: Ja

  • Nachricht senden

15

Dienstag, 8. Juli 2014, 22:38

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:


Quellcode

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


MfG
uniQue

Jean

Schüler

  • »Jean« ist der Autor dieses Themas

Beiträge: 104

Rootserver vorhanden: Nein

  • Nachricht senden

16

Freitag, 11. Juli 2014, 09:51

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

Beiträge: 1 517

Wohnort: Flensburg

Beruf: Industrieelektroniker

Rootserver vorhanden: Nein

  • Nachricht senden

17

Samstag, 12. Juli 2014, 00:16

Anbei das Modifizierte Plugin.

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

Es gibt auch eine neue Cvar:

Quellcode

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« hat folgende Dateien angehängt:
  • tracker.smx (6,38 kB - 144 mal heruntergeladen - zuletzt: 6. April 2024, 13:53)
  • tracker.sp (7,66 kB - 119 mal heruntergeladen - zuletzt: 13. März 2024, 01:23)



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