Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: sourceserver.info. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

21

Sonntag, 9. Januar 2011, 00:31

Re: Startscript für Orangebox - Games

Das liegt nicht direkt im Sinn des Scriptes

Habe so etwas ähnliches mal für uns geschrieben



Meinst du sowas?
http://pastebin.com/rk5WfD0i">http://pastebin.com/rk5WfD0i</a>


Mfg
Impact

Koffein

Fortgeschrittener

Beiträge: 353

Rootserver vorhanden: Nein

  • Nachricht senden

22

Sonntag, 9. Januar 2011, 00:47

Re: Startscript für Orangebox - Games

In der aktuellen Version des Startscriptes in der wiki, kann man einfach eine Datei anlegen,
dort dann die Namen der einzelnen Server Start Scripte,
anschließend kann man einfach per: BEFEHL LISTENNAME die Server die in der Liste sind erreichen,
anstatt BEFEHL SERVER1, BEFEHL SERVER2, BEFEHL SERVER3..... etc..

EDIT:
Befehle für Fastdownload mit reinpacken,
also erst die Dateien zu bzip komprimieren dann automatisch hochladen :P

gOOvER

Anfänger

Beiträge: 5

Rootserver vorhanden: Ja

  • Nachricht senden

23

Freitag, 4. Februar 2011, 16:39

Re: Startscript für Orangebox - Games

Script heute mal getestet und bin begeistert. Super Arbeit. :) Weiter so :)

EoZ

Anfänger

Beiträge: 17

Wohnort: Berlin

Beruf: eventbranche

  • Nachricht senden

24

Samstag, 5. März 2011, 19:51

Ich habe heute versucht über das startscript einen server zu installieren, funktionierte nicht wirklich.
meine Vorgehensweise:
-im home/username/ einen ordner "test" erstellt
-die entpackten Dateien in diesen Ordner kopiert
-server.cfg bearbeitet

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
DIR="test"
SCREENNAME="test"
IP="46.4.73.67"
MAXPLAYERS="16"
PORT="27030"
SCREENOPTIONS="dmSL"
MAP="de_dust2"
EXTRA="-timeout 4 -autoupdate -verify_all -retry -tos -noipx"
SRCDSDIR="/home/username/test"
LOGDIR="screenlogs"
GAMEMOD="cstrike"
UPDATEMOD="Counter-Strike Source"
BINARY="srcds_run"
QSTAT="a2s"
PRECONFIGURE="1"

bei SRCDSDIR="/home/username/test" steht original orangebox, aber dazu komm ich noch!
-putty öffnen, ins Verzeichnis /home/username/test wechseln
-./server.sh install ins putty --> nach einer Aufforderung "yes" zu schreiben werden die serverdateien runtergeladen
-als alles fertig war, gabs kein orangebox-Verzeichnis. es wurde im test-Ordner ein cstrike-verzeichnis angelegt.
-natürlich konnte auf ./server.sh start nur kommen: verzeichnis orangebox existiert nicht
-srcds_run liegt im Ordner test also neben server.sh und .cfg, also änderte ich die Pfadangabe, aber egal was ich da hinschreibe, der Ordner existiert nicht

Ähnliches passierte übrigens beim Versuch einen anderen server zu updaten, den ich vor längerer Zeit mit dem script gestartet hatte.
Vielleicht findet ja jemand den Fehler?

mfg

Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

25

Samstag, 5. März 2011, 23:13

Im Kopf der Configdatei steht:

Quellcode

1
# --> Ab hier bitte Anpassen <-- | Zur Konfiguration bitte beiliegende Readme lesen!.


Ich glaube da hat jemand die Readme nicht gelesen :whistling:
Hier ein Beispiel wie die Config aussehen muss.

Quellcode

1
2
3
4
DIR="/home/username/test"
SRCDSDIR="orangebox"
GAMEMOD="cstrike"
UPDATEMOD="Counter-Strike Source"


Bei L4d1 dann so

Quellcode

1
2
3
4
DIR="/home/username/test"
SRCDSDIR="l4d"
GAMEMOD="left4dead"
UPDATEMOD="left4dead"


and so on..

Lese bitte aufmerksam die Readme Datei, dafür ist sie nämlich da. :ugeek:
Entscheidende Punkte wären hier.

Quellcode

1
2
3
4
Dir              - Kompletter Pfad zum Hauptordner des Servers zB /home/css/work.
Srcdsdir      - Pfad zur eigentlichen Binary.
Gamemod       - Name der Spielmodifikation.
Updatemod     - Kompletter Name des Spieles.




Ansonsten kannst du auch einfach mal einen Blick in das Script werfen,
dort würdest du dann folgende Zeile finden die dir verraten hätte wieso es nicht ging.

Quellcode

1
2
cd $DIR/$SRCDSDIR 
screen -$SCREENOPTIONS $SCREENNAME-running ./$BINARY bla  bla


Der erste Code würde dann Im Script so aussehen

Quellcode

1
2
cd test/home/username/test 
screen -$SCREENOPTIONS $SCREENNAME-running ./$BINARY bla  bla


-> Wie sollte das gehen?


Ansonsten gibt es auch noch die Screenlogs (Sofern der Pfad richtig gewesen wäre)
Bleibt nur noch zu sagen, wenn man das Script richtig anwendet funktioniert es auch :)


Ps. wenn du Fehler findest oder Ideen hast dann immer her damit ;)


MfG
Impact

Dieser Beitrag wurde bereits 15 mal editiert, zuletzt von »Impact« (6. März 2011, 02:17)


EoZ

Anfänger

Beiträge: 17

Wohnort: Berlin

Beruf: eventbranche

  • Nachricht senden

26

Sonntag, 6. März 2011, 06:41

Ich habe die README bestimmt 20x gelesen. Das mit dem kompletten Pfad bei DIR= muß mir irgendwie durch die Lappen gegangen sein, ich versuche es gleich nochmal.^^

Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

27

Montag, 7. März 2011, 02:24

In der aktuellen Version des Startscriptes in der wiki, kann man einfach eine Datei anlegen,
dort dann die Namen der einzelnen Server Start Scripte,
anschließend kann man einfach per: BEFEHL LISTENNAME die Server die in der Liste sind erreichen,
anstatt BEFEHL SERVER1, BEFEHL SERVER2, BEFEHL SERVER3..... etc..


Ich habe mich vorher mal rangesetzt und dafür was kleines geschrieben (Verzeih den Namen mir ist leider nichts besseres eingefallen).
http://downloads.gugy.eu/bash/server.sh/server_min.tar.gz

Ganz ohne Listen
Wichtig ist dabei nur dass deine Gameserver in Unterordnern sind (Was ich einfach mal annehme)
Du kannst deine Gameserver dann einfach per.

Quellcode

1
2
3
gstart server1
status server5
grestart server99


Direkt aus dem Hauptverzeichnis aus bedienen.
Bittesehr ich hoffe das ist was du meintest :)


Ps. Dafür ist jetzt mein Kaffee kalt :(


MfG
Impact

Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

28

Sonntag, 20. März 2011, 22:20

Gerade eben das Game Paket von Sourcebans zu den Addons zugefügt, kann also nun auch darüber installiert werden :)
Hat noch einer Ideen für Addons?


MfG
Impact

Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

29

Donnerstag, 24. März 2011, 15:06

Gerade eben die erste Version der FastDL Extension fertiggestellt,
etwas kompliziert zusammengeschrieben, aber sie funktioniert.

Neue Funktionen und Bugfixes bei Zeit.

Gedownloadet werden kann sie hier

Das Script nutzt die mitgelieferte fastdl.conf so wie auch die vorhandene server.conf
daher fällt die eigene Config relativ gering aus.


Ps. kann es sein dass bzip2 nicht excluden kann?
habe dazu nichts gefunden X(

MfG
Impact

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Impact« (24. März 2011, 15:16)


DeaD_EyE

Administrator

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

30

Donnerstag, 24. März 2011, 17:16

Ne, kann bzip2 nicht. Aber find kann das, grep kann das.

Eine fertige Funktion für Dateitypen:

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
42
43
44
45
46
47
48
49
50
51
#!/bin/bash
exclude_filetypes="txt sh bin"
include_filetypes="txt bin sh"
findexclude() {
        if [ $# = 1 ]; then
                echo "-not -name "*.$1""
                return
        fi

        output="-not \( -name "*.$1""
        shift
        for type in $@; do
                output="$output -o -name "*.$1""
                shift
        done
        output="$output \)"
        echo "$output"
        return
        }

findinclude() {
        if [ $# = 1 ]; then
                echo "-name "*.$1""
                return
        fi

        output="\( -name "*.$1""
        shift
        for type in $@; do
                output="$output -o -name "*.$1""
                shift
        done
        output="$output \)"
        echo "$output"
        return
        }

exclude="$(findexclude $exclude_filetypes)"
include="$(findinclude $include_filetypes)"
echo "Pattern for exclude: $exclude"
echo "Pattern for include: $include"
echo
echo "Searching files with exluding some filetypes: $exclude_filetypes"
eval find $exclude
echo
echo "Searching files with including some filetypes: $include_filetypes"
eval find $include

echo
echo "Find only real files: -type f (with excluding other files)"
eval find -type f $exclude

Dann kannst du noch mit Pfaden arbeiten. Anstatt -name kannst du -path verwenden.

z.B. um orangbox/addons zu excludieren = ! -path */orangebox/addons/*
includieren = -path */orangebox/maps/*


Bei Dateilisten wird es schon komplizierter. Wenn ich da mit diff vergleiche, kommt bei vertauschen Zeilen etwas völlig falsches heraus. Find unterstützt soweit ich weiß auch keine Funktion um eine Dateiliste zum excludieren von Suchergebnisen zu verwenden.

Dafür hatte ich mal ein Pythonscript geschrieben, dass zwei Dateien miteinander vergleicht und die identischen Zeilen herausfiltert und nur die hinzugekommen Zeilen der zweiten Datei anzeigt.

So kann man mit mehreren Filtern eine kleine Dateiliste von den Original-Verzeichnissen materials, maps, models, sound, scripts und resource erstellen.
Danach den gleichen Filter auf das Serververzeichnis mit den Customdateien anwenden. Die beiden Dateien vergleicht man dann mit dem Pythonscript und hat dadurch eine Dateiliste mit den customdateien.

Die Dateiliste lässt sich auch so erstellen, dass die Change-/Modifytime dort mit drinsteht. Nachdem ich jetzt sämtliche Server abgesucht habe, meinen alten Homeserver angeschlossen hab usw.. hab ich das Script endlich bei mir auf dem VServer gefunden.

Besonders perfomant ist es nicht, aber es erfüllt seine Aufgabe:

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
42
43
44
45
46
47
#!/usr/bin/python
'''
./diff.py oldfile newfile
Shows changed/new lines from a new txtfile
Added lines to oldfile doesn't generate output
'''
from __future__ import with_statement
import sys

try:
    import psyco
    psyco.full()
except ImportError:
#    print "Psyco not found :-("
    pass

if not len(sys.argv) == 3:
    sys.exit()

try:
    oldfp = open(sys.argv[1],'r')
    old = oldfp.readlines()
    oldfp.close()
except IOError:
    sys.exit()

try:
    newfp = open(sys.argv[2],'r')
    new = newfp.readlines()
    newfp.close()
except IOError:
    sys.exit()

#vorherige Schleife zum Vergleich:
#for new_line in new:
#    if not any(old_line in new_line for old_line in old):
#        if not len(new_line) <= 1:
#            print new_line,

#Der Teil koennte schneller sein.
for new_line in new:
    for old_line in old:
        if new_line == old_line:
            break
    else:
        if not len(new_line) <= 1:
            print new_line,


Zum Test hab ich noch psyco importiert, welches den Python-Code schneller machen soll. Unter Debian kann man das Modul mit "apt-get install python-pyco" installieren. Wenn das Modul nicht existiert, wird es auch nicht geladen. Leider bringt die Optimierung nicht viel. Deshalb sollten die beiden Dateilisten auch nur die Dateien aus ausgewählten Verzeichnissen enthalten, damit weniger Zeilen vorkommen.

Der Code ließe sich auch noch optimierten, wenn man aus der Schleife mit break herausspringt, wenn ein Treffer gefunden wurde.

Ich glaube es macht sogar mehr Sinn, das Programm in c zu schreiben... Muss sich nur jemand finden.

Ich hab mal testweise eine Funktion als modul mit cython compiliert. Von 3 Minuten auf 16 sekunden ausführungszeit bei 37000 Zeilen ist schonmal ein Fortschritt.

Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

31

Dienstag, 29. März 2011, 14:58

Habe vorhin mit jemandem geschrieben der mich auf eine Idee brachte, die ich lange Zeit vergessen hatte.
Es geht um eine SourceTv Erweiterung die ich nun fertiggestellt habe, und als Extension nun für die Server.sh anbiete.

Die SourceTV extension liest den Screenlog des Server aus und sobald eine Demo beendet wurde, wird diese mit einem Ftpserver synchronisiert.
Das ganze ist in einer endlosschleife geschrieben und funktioniert somit unbegrenzt.

Die Server.sh ist bereits geupdatet und startet/stoppt den Daemon falls vorhaden beim Server start/stop gleich mit.
Man muss lediglich updaten :)

Downloaden kann man die Extension hier:
SourceTv Extension


Es gibt nur ein Problem, Die Demos werden erst bei der zweiten Demoaufnahme gepackt und hochgeladen.
Wieso das so ist kann ich zu diesem Zeitpunkt noch nicht sagen.



MfG
Impact

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Impact« (29. März 2011, 15:51)


Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

32

Sonntag, 3. April 2011, 18:44

Ich war mal wieder fleißig, und habe eine neue Extension geschrieben.

Will man auf zB Warservern Werbetexte einblenden ist das meistens nicht ohne weitere Plugin oder Addons möglich,
da die aber bei den meisten Ligen verboten sind habe ich die advert_extension geschrieben.

Es gibt 4 Variablen.

Quellcode

1
2
3
4
ADVERT_EXTENSION_TEXT1="text1"
ADVERT_EXTENSION_TEXT2="text2"
ADVERT_EXTENSION_SLEEPTIME="10"
ADVERT_EXTENSION_INTERVALL="120"


Ich schätze sie erklären sich von alleine ;)

Damit ist es möglich ohne weitere Plugins Werbung auf seinen Servern zu machen.

Download


MfG
Impact

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Impact« (3. April 2011, 20:10)


Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

33

Mittwoch, 6. April 2011, 07:24

/Push

Habe den Thread mal etwas überarbeitet so wie eine FAQ Sektion hinzugefügt

Hat noch einer Ideen, Anregungen, Wünsche?
nichts ist unmöglich :)


MfG
Impact

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Impact« (6. April 2011, 08:14)


Beiträge: 1 537

Wohnort: Krefeld

Beruf: Student

Rootserver vorhanden: Nein

  • Nachricht senden

34

Mittwoch, 6. April 2011, 13:21

Ja ! Ich habe einen Wunsch !

Bring mir das auch bei ^^
LG
GeNeRaLbEaM

Wer Rechtschreibfehler findet, darf sie behalten.

Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

35

Mittwoch, 6. April 2011, 20:54

Ich dachte jetzt eher an das Script,
aber kein Problem :D

Achso ich sollte vielleicht erwähnen dass ich in meinem Zweig gerade einen Täglichen Cronjobmaker am testen bin.
Es ist nichts besonderes, nur eine kleine Befragung nach Der Uhrzeit.

Das ganze sieht so aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
Geben sie bitte hier die Stunde und Minute des taeglichen Cronjobs ein.

Stunde des Cronjobs {0-23}: 21
Minute des Cronjobs {0-59}: 33
Kommentar fuer den Cronjob {Ohne #}: Beispiel
Aktion des Cronjobs {update/restart...}: restart
- Ab hier is ein Clear
Crontab wurde eingetragen.
# m h  dom mon dow   command

# Beispiel 21:33 Uhr
33 21 * * * /home/css/work/server.sh restart >> /home/css/work/crontab.log


Das ganze wird auch in den Crontab eingetragen, und vorher darin stehende Angaben nicht gelöscht.
Ich habe nur ein kleines Problem mit welchem ich mich bisher nicht befasst habe.

TERM environment variable not set.


Ps. Ich glaube ich weiß wie ich das verhindern kann


MfG
Impact

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Impact« (6. April 2011, 21:39)


Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

36

Freitag, 15. April 2011, 15:24

Aufgrund des aktuellen Zwischenfalles habe ich ein Upgradepaket für Sourcemod und Metamod erstellt,
das jeweils die benötigten Dateien enthält (Keine Plugins/Configs).

Installiert werden kann es per:

Quellcode

1
./server.sh addoninstall sourcemod_snapshot_css

bzw bei der neusten Version

Quellcode

1
./server.sh 15 sourcemod_snapshot_css


Spoiler Spoiler


Quellcode

1
2
3
4
5
6
7
8
9
10
Folgende Addons lassen sich ueber den Installer installieren

---
Name                   | Version              | Paket
-------------------------------------------------------------------------------
sourcemod_css          | Version 1.3.6        | Sourcemod Paket fuer css Inklusive Metamod.
sourcemod_snapshot_css | Version 1.4.0-hg3254 | Sourcemod Snapshot Upgradepaket mit Essentiellen Datien.
zblock                 | Version 4.5          | Zblock Paket fuer css Inklusive Configs mehrerer Ligen.
sb_css                 | Version 1.4.8        | Sourcebans gameupload Paket.
---




MfG
Impact

Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

37

Samstag, 16. April 2011, 15:33

Update Version 0.2.4-Beta1.06

Neuerungen und Fixes im Script

Changelog

Spoiler Spoiler

Quellcode

1
2
3
4
5
6
- Code ueberarbeitet/verduennt
- Kleinere fixes	
- Status ueberarbeitet
- if else Abfragen minimiert
- Addonlist Fehler gefixt
- Fehler in Hilfsausgabe gefixt


Zudem wurden die Addons erneuert und Sdkhooks kam neu dazu

Addons

Spoiler Spoiler

Quellcode

1
2
3
4
5
Name                   | Version              | Paket
-------------------------------------------------------------------------------
sourcemod_css          | Version 1.3.7        | Sourcemod Paket fuer css Inklusive Metamod.
sourcemod_css_upgrade  | Version 1.3.7        | Sourcemod Upgradepaket mit Essentiellen Dateien.
sdkhooks_css           | Version 2.0          | Skdhooks Paket.



MfG
Impact

Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

38

Montag, 18. April 2011, 13:27

Falls es jemand interessiert, ich betreibe nun hier einen SVN dazu.
Ich muss schon sagen, sehr praktisch das ganze!

Featurewünsche und Kritik sind weiterhin gerne gesehen.

MfG
Impact

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Impact« (18. April 2011, 15:23)


Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

39

Freitag, 22. April 2011, 19:15

Update 0.2.4-Beta2

Das Script liegt nun in Version 0.2.4-Beta2 vor.

Changelog:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 22.04.2011
# Version: 0.2.4-Beta2
- Statuscheck leicht bearbeitet, falls Kein SCREENNAME- gefunden wird.
- Backupausgabe je nachdem ob der Server online war und gestoppt werden musste.
- Backups werden nun nach DIR/tmp verschoben.
- Backupparameter in server.sh von BACKUPPARAM nun zu BACKUP_FILES geaendert.
- CRON: Funktionsabfrage falls der Cron bereits existiert, ob man ueberschreiben moechte.
- README: Hinweise zur Konfiguration der Config zugefuegt.
- Zustimmung bei Listgames und Updates bei Nachfrage des Hldsupdatetools nicht mehr notwendig.
- Updateausgabe je nachdem ob der Server online war, und gestoppt werden musste.
- Bei Startfehlern wird nun eine Variable gesetzt und das Starten verhindert.
- Bei Startfehler erscheint nun die Anzahl der Fehler.
- Wrapper fue Verzeichnisabfragen
- Cleanup Funktion eingebaut.


Und noch ein paar kleinere Sachen die man bei der Benutzung sicher bemerkt :)

MfG
Impact

40

Freitag, 22. April 2011, 19:29

Ein für mich nettes Feature wäre ja wenn das Script eine E-Mail an mich sendet wenn der Server länger als XY Minuten Offline ist und nicht gestartet werden kann wegen einem Problem. Oder ich per Mail benachichtigt werde wenn der Server geupdatet wurde :-)