You are not logged in.

Impact

Super Moderator

  • "Impact" started this thread

Posts: 1,276

wcf.user.option.userOption53: Nein

  • Send private message

1

Thursday, March 21st 2013, 12:31am

CallAdmin Kritik und Anregungen [In Entwicklung]

Seid gegrüßt.
Die Suche nach einem CallAdmin-Plugin ist mittlerweile in mehreren Foren ein beliebtes Thema, leider wurde bisher nie etwas funktionierendes gepostet.
Popoklopsi und ich haben uns deswegen etwas unterhalten und uns entschlossen zu versuchen dieses Problem zu lösen.

CallAdmin ist ein mehrsprachiges System was inGame Reports ermöglichen soll, dabei besteht das System aus folgenden 3 Techniken.
  • Ein Sourcemod-Plugin um Spieler InGame zu reporten
  • Ein Desktop Client um Admins über Reports zu benachrichtigen
  • Ein PHP - Script welches der Client nutzt um Reports abzurufen und Admins (Tracker) in die Datenbank einzutragen
Technisch sieht das ganze in etwa so aus.


Das ganze hat einige schöne Features die in den meisten bestehenden Lösungen nicht vorhanden sind.
  • Mehrsprachigkeit
  • Verfolgung der aktiven Admins
  • Nachricht wenn bei einem Call kein Admin vorhanden war, aber danach einer Online kam
  • Support für eigene Gründe (Admin und Reporter)
  • Automatisches anfügen von neuen Convars an autoconfigs
  • Automatisches Management von Serverid's (Man muss nicht jedem Server manuell eine Id geben)
  • Antispam Maßnamen (Ein Spieler kann nicht mehrmals in einem Spiel reportet werden, Ein Spieler kann nur jede 25 Sek reporten (konfigurierbar))
  • Support für "anonyme"/stille reports
  • Support für Werbung (Wenn Admins verfügbar)
  • Support für das löschen alter Einträge
  • Support für den Updater (Automatische Updates des Plugins)
  • Automatisches Update der Serverdaten aller Reports in der Datenban
  • Anonymisierte IP's
  • Es wird eine globale Zeit genutzt (Mysql)
  • Plugin Api
Das ganze ist derzeit noch in der Alpha, wir begrüßen Kritik, Verbesserungen und Vorschläge für neue oder fehlende Features.
Das System kann bereits getestet werden, allerdings können wir auf Kompatibilität derzeit noch keine Rücksicht nehmen.
Der Hauptgrund dieses Threads besteht darin, dem System den nötigen Feinschliff zu geben.
Wann genau wir fertig bzw bereit zum testen sind können wir noch nicht sagen, wir wollen uns Zeit lassen um am Ende auch etwas vernünftiges in bereitstellen zu können.

Nachfolgend ein paar Screenshots des Plugins.

Spoiler Spoiler


Wen man versucht einen Admin zu rufen, aber keiner da ist.



Wenn nach erfolglosen versuch einen Admin zu rufen ein Admin aktiv wird.


Werbung wenn Admins aktiv sind.


Auswahl des Clients.


Auswahl des Grundes.


Auswahl des Grundes #2


Angabe des eigenen Grundes.


Bestätigung des Reports.


Nach erfolgreichem Report.


Antispam.


Wenn keine Spieler da sind (oder bereits alle reportet)


Mittlerweile sehen die Chatnachrichten so aus, ich wollte nur keine neuen Screenshots machen.



Nachfolgend ein paar Screenshots des Desktopclients.

Spoiler Spoiler


Das Hauptfenster.


Das Trayicon.


Bei einem eingehenden Report.


Version 2 (Die Bilder werden im Normalfall von Steam geholt)


Das Hauptfenster nachdem bereits Calls eingingen (Auswahl der Calls in der linken Spalte).


Version 2





Bereits umgesetze Vorschläge
  • Die Maximale Aufbewahrungszeit von Reports ist nun unlimitiert, Wann ein Eintrag als verwaist gilt lässt sich nun per Convar einstellen. (Blacksilver)
  • Sound bei eingehendem Report im Client (Blacksilver)
  • Spamcheck konfigurierbar
  • Ts3modul für das Plugin
  • Einstellen was passiert wenn ein Admin inGame ist

Vorschläge die noch erledigt werden



Features in Planung
(Kann kommen, muss aber nicht)
  • Markieren dass ein Report bereits abgearbeitet wird? (Wird zurzeit umgesetzt)
  • Reportete Spieler in Trie/adt speichern (länger haltbar)
  • Webinterface schreiben
  • Socket Support (keine Datenbank mit externem Zugriff notwednig)

Download
CallAdmin wurde mittlerweile veröffentlicht, mehr Informationen hier.

MfG
Impact

This post has been edited 14 times, last edit by "Impact" (Apr 17th 2013, 7:07pm)


LeXx

Unregistered

2

Thursday, March 21st 2013, 12:59am

Hallo,

Coole sache, wenn es klappt würde dieses vielen Communitys/Clans die Arbeit erleichtern :P Außerdem seid ihr dann die ersten die so ein Script besitzen bzw. entwickelt haben was auch geht. Ich hätte da noch eine Idee wie wäre es wenn ihr ein Ban Button in das Programm einbaut? Es wird sicher User geben dei !calladmin Abuse machen dieses wäre extrem nervig. Vielleicht kann man ja so eine "Art" Live Chat machen so wie es Sourcebans kann (via Rcon). Das man dem User direkt im Chat antworten kann. Dann sieht der User im Chat eine Nachricht, in einem Hud und eine Center Message. Dieses würde alles nochmal einfachen und besser gestalten :P Was meint ihr ist das machbar? Biete mich auch gerne als Tester an.

Macht weiter so :D

Lg
LeXx

Blacksilver

Intermediate

Posts: 298

Location: 127.0.0.1

Occupation: FISI

wcf.user.option.userOption53: Nein

  • Send private message

3

Thursday, March 21st 2013, 1:24am

Ich weiß nicht, ob ihr das geplant habt, da ich z.B. zur Zeit keinen wweiten Monitor habe wäre entweder ein Song ^^ oder ein akustisches Signal schön, das ertönt, sobald eine Meldung ankommt ;)
Come to the dark side,
we have cookies ;)

General_V

Super Moderator

Posts: 1,043

Location: Mönchengladbach

Occupation: Brückenkranführer / Staplerfahrer

wcf.user.option.userOption53: Nein

  • Send private message

4

Thursday, March 21st 2013, 1:45am

Geile Idee bin gerne zum testen bereit :D

MadMakz

Super Moderator

Posts: 1,878

Location: ~#

wcf.user.option.userOption53: Ja

  • Send private message

5

Thursday, March 21st 2013, 2:05am

Sowas in der art schwebte mir auch schon lange im kopf, naja;

Gebt dem client auf jedenfall eine "start with windows" und "minimize to tray"funktion ;)
edit: gibt's ja schon :D

eine email funktion und IRCbot wären noch nett denn das was es an IRC lösungen bislang gibt ist nicht so das wahre (zumindest denke ich das sich da seit 3jahren nix mehr getan hat zumal auch das simple-plugins projekt, u.a. IRC chat integration, nicht lange überlebt hat).

je nachdem was ihr für kapazitäten und zeit habt; warum nicht gleich ein komplettes verwaltungssystem das auch gleich eine banverwaltung integriert? "sourcebans extended" sozusagen^^

This post has been edited 1 times, last edit by "MadMakz" (Mar 21st 2013, 2:10am)


Impact

Super Moderator

  • "Impact" started this thread

Posts: 1,276

wcf.user.option.userOption53: Nein

  • Send private message

6

Thursday, March 21st 2013, 2:27am

Ich weiß nicht, ob ihr das geplant habt, da ich z.B. zur Zeit keinen wweiten Monitor habe wäre entweder ein Song ^^ oder ein akustisches Signal schön, das ertönt, sobald eine Meldung ankommt ;)
Sehr gute Idee, ich habe einen kleinen Sound gebastelt und Popo baut ihn gerade ein.

eine email funktion und IRCbot wären noch nett
Zum Mailen gibt es soweit ich weiß bereits eine Include die mit Sockets arbeitet im Alliedmodders Forum, allerdings benötigt diese zum Senden ein Mailkonto.
Zu Irc, ich habe bisher nicht wirklich damit gearbeitet, aber meist du so etwas wie auch Smac hat über SourceIrc?

Quoted

warum nicht gleich ein komplettes verwaltungssystem das auch gleich eine banverwaltung integriert? "sourcebans extended" sozusagen^^
Nun, für ein solches Projekt fehlt uns einerseits die Kenntnis und Erfahrung, zudem halte ich da eine Integration in Sourcebans für sinnvoller.
Die erwähnte Integration war anfangs eigentlich auch geplant, allerdings haben wir uns nicht näher darüber unterhalten wie diese implementiert werden soll.

Ich hab übrigens ein Bild angehängt wie das System aus technischer Sicht funktioniert, vielleicht versteht man so besser was möglich ist und was nicht.
Wieso wir uns für diese Methode entschieden haben schreibe ich vielleicht zu einem späteren Zeitpunkt.

MfG
Impact

Blacksilver

Intermediate

Posts: 298

Location: 127.0.0.1

Occupation: FISI

wcf.user.option.userOption53: Nein

  • Send private message

7

Thursday, March 21st 2013, 2:46am

Ihr könnt bezüglich Sourcebans Integration SourceComm als Vorbild/Vorlage nehmen ^^
http://forums.alliedmods.net/showthread.php?p=1883708

Halt nur eine Seite mit einer Ausgabe von gemeldeten Spieler + von wem + wann + Grund + SteamID beider?

Edit:
Euch beiden fehlt die Erfahrung *hust*? xD
Come to the dark side,
we have cookies ;)

This post has been edited 1 times, last edit by "Blacksilver" (Mar 21st 2013, 3:02am)


Impact

Super Moderator

  • "Impact" started this thread

Posts: 1,276

wcf.user.option.userOption53: Nein

  • Send private message

8

Thursday, March 21st 2013, 3:02am

Die Frage ist halt wie die Integration in Sourcebans aussehen sollte, du kannst ja nicht einfach jemand in SourceBans eintragen nur weil er reported wurde.
Wenn ich dich falsch verstanden habe weise mich bitte darauf hin.

Halt nur eine Seite mit einer Ausgabe von gemeldeten Spieler + von wem + wann + Grund + SteamID beider?
Das ist möglich, allerdings macht es nicht besonders viel Sinn da Reports im Normalfall nur zur temporären Speicherung vorgesehen sind.

MfG
Impact

Blacksilver

Intermediate

Posts: 298

Location: 127.0.0.1

Occupation: FISI

wcf.user.option.userOption53: Nein

  • Send private message

9

Thursday, March 21st 2013, 3:07am

Bei SourceComm ist es auch ein separater Eintragt in die Datenbank?!?
Datenbank Einträge sollte nicht temporär sein(Für eine Art MeldeArchiv)
Lieber eine Funktion löschen nach x Tagen oder manuell :)
Come to the dark side,
we have cookies ;)

Impact

Super Moderator

  • "Impact" started this thread

Posts: 1,276

wcf.user.option.userOption53: Nein

  • Send private message

10

Thursday, March 21st 2013, 3:46am

Auch daran wurde gedacht, es gibt eine cvar womit man bestimmen kann ob und wann Einträge gelöscht werden.

Spoiler Spoiler

Source code

1
2
3
4
5
6
// Entries older than given minuten will be deleted, 0 deactivates the feature
// -
// Default: "25"
// Minimum: "0.000000"
// Maximum: "3600.000000"
sm_calladmin_entrypruning "25"

Einträge älter als (max * 3) welche nicht zum Server gehören (ip und port nicht übereinstimmend) werden als verwaist angesehen und global gelöscht.
Wie du siehst sind die Limits relativ gering, diese kann man aber natürlich auch erhöhen (1 Monat wären zb 44640 Minuten).
Allerdings ist das simple Datenbankschema auch nicht wirklich darauf ausgelegt (viel Redundanz).

Ein Webinterface zum angucken aller Reports kann man schreiben, das sollte nicht das Problem sein.
Für eine Sourcebans Integration sehe ich derzeit noch keinen Grund, die Integration bei SourceComms macht halt durch die Userverwaltung, Bans und Immunity Sinn.
Mal sehen, wir werden das denke ich morgen nochmal besprechen.

MfG
Impact

MadMakz

Super Moderator

Posts: 1,878

Location: ~#

wcf.user.option.userOption53: Ja

  • Send private message

11

Thursday, March 21st 2013, 3:49am

Zitat
Nun, für ein solches Projekt fehlt uns einerseits die Kenntnis und Erfahrung, zudem halte ich da eine Integration in Sourcebans für sinnvoller.
Die erwähnte Integration war anfangs eigentlich auch geplant, allerdings haben wir uns nicht näher darüber unterhalten wie diese implementiert werden soll.

Wie Authentifiziert sich denn der Client?

User/Passwort, Keystring oder Garnicht?

Falls User/Passwort könnte man eine optionale Bridge in den Weblayer integrieren in dem man optional die SQL-Daten der Sourcebansinstallation in der Config angibt und die Logindaten von SourceBans benutzt werden können. Damit spart man sich zwei Nutzerdatenbanken zu verwalten.

Müsste man sich noch anschauen ob und wie das Passwort-Hash in SourceBans generiert wird und in die Bridge übernehmen.

Impact

Super Moderator

  • "Impact" started this thread

Posts: 1,276

wcf.user.option.userOption53: Nein

  • Send private message

12

Thursday, March 21st 2013, 3:55am

Derzeit wird das sehr simpel über einen Key ähnliche wie bei der SteamAPI geregelt, das mag lächerlich wirken aber es sollte genügen.
Getrackt wird auch nicht der einzelne Client (Wie auch ohne einzigartige Authentifizierung), sondern die Summe der einzigartigen IP's der Clients.
Eine Optionale Bridge zu SourceBans (zur Authentifizierung) finde ich wiederum interessant, könnte man mit Curl per POST machen.

MfG
Impact

MadMakz

Super Moderator

Posts: 1,878

Location: ~#

wcf.user.option.userOption53: Ja

  • Send private message

13

Thursday, March 21st 2013, 3:59am

Wenn es lächerlich wäre hätte ich es nicht aufgeführt^^

Bei einem reinen Info-Tool ist das so eine sache ob man eine Nutzerverwaltung mit Logins braucht. Meistens wohl eher nein.

Jedenfalls ist das Projekt mal eine gescheite Lösung, mit oder ohne Login. :)

rain

Super Moderator

Posts: 1,410

Location: Lutherstadt Wittenberg

Occupation: Anlagenmechaniker

wcf.user.option.userOption53: Ja

  • Send private message

14

Thursday, March 21st 2013, 6:46am

Respekt Respekt das ist genau das was ich schon seit Jahren gesucht hab.





hannibal-l-

Professional

Posts: 552

Occupation: Fisi

wcf.user.option.userOption53: Ja

  • Send private message

15

Thursday, March 21st 2013, 8:42am

Das hört sich mal richtig super an. Wenn es eine Version zum testen gibt, dann immer her damit :)
Wer deutlich spricht, riskiert verstanden zu werden.

http://steamcommunity.com/profiles/76561197996267687

Bara

Professional

Posts: 834

wcf.user.option.userOption53: Ja

  • Send private message

16

Thursday, March 21st 2013, 9:55am

An sich keine schlechte Idee. Man könnte noch kleine Chat Funktion einbauen damit nicht 4 Admins wegen einer Meldung auf den Server gehen. Oder eine "Report übernehmen"-Funktion und eine "Als Erledigt markieren"-Funktion.

Das hört sich mal richtig super an. Wenn es eine Version zum testen gibt, dann immer her damit :)

Server/Web: https://github.com/Impact123/CallAdmin
Client: https://github.com/popoklopsi/CallAdmin-Client

Impact

Super Moderator

  • "Impact" started this thread

Posts: 1,276

wcf.user.option.userOption53: Nein

  • Send private message

17

Thursday, March 21st 2013, 12:20pm

Man könnte noch kleine Chat Funktion einbauen damit nicht 4 Admins wegen einer Meldung auf den Server gehen. Oder eine "Report übernehmen"-Funktion und eine "Als Erledigt markieren"-Funktion.
Der Chat war wie schon gesagt Anfangs geplant, allerdings braucht man für einen Realtime Chat eine Art Server-Client Architektur.
Man könnte natürlich auch die Datenbank alle 1-2 Sek anpimmeln, aber ich vermute das ist nicht das beste was man machen kann.

Quoted

eine "Als Erledigt markieren"-Funktion.
Ist auch bereits auf der Todoliste, mal sehen wie und ob wir es umsetzen, vermutlich sind dann Veränderungen am Schema der Datenbank nötig.
Die Links hatte ich noch nicht gepostet gehabt, da wir das System selbst noch nicht ausführlich testen konnten, trotzdem sind Natürlich auch Verbesserungen am Code bzw Kritik daran erwünscht.
Mal sehen was Popo zu den ganzen Vorschlägen zu sagen hat :)

MfG
Impact

This post has been edited 1 times, last edit by "Impact" (Mar 21st 2013, 12:35pm)


popoklopsi

Beginner

Posts: 23

wcf.user.option.userOption53: Nein

  • Send private message

18

Thursday, March 21st 2013, 6:54pm

Ich brauch mal eueren Rat^^

Undzwar folgendes:

Ich würde gern die Möglichkeit einbinden, den Caller oder den gecallten direkt per steam anschreiben zu können. Dazu hab ich zwei Ideen:

1. Direkt einen Chat im Call Admin Programm einbauen, hier kann man direkt mit den Spielern schreiben (Problem: Steam schreibt gleichzeitig mit^^)

2. Einen Button Contact Caller, bzw Contact target, dadurch schreibt man denjenigen einfach eine Nachricht in Steam und kann dann über Steam schreiben

Die Frage ist jetzt, ob es sich lohnt einen eigenen Chat einzubauen, wenn Steam sowieso gleichzeitg mitschreibt?

Oder hätte jemand noch eine ganz andere Idee?

Blacksilver

Intermediate

Posts: 298

Location: 127.0.0.1

Occupation: FISI

wcf.user.option.userOption53: Nein

  • Send private message

19

Thursday, March 21st 2013, 7:19pm

Ich würde trotzdem einen Chat einbauen :D

Kann Impact nicht eine Umfrage starten oder ist die funktion hier im Forum deaktiviert?
Come to the dark side,
we have cookies ;)

popoklopsi

Beginner

Posts: 23

wcf.user.option.userOption53: Nein

  • Send private message

20

Thursday, March 21st 2013, 7:48pm

Die Frage ist ob sich das lohnt, denn Steam ploppt neben bei immer auf und ich hab gerade beim testen dann auch irgenwann nurnoch in steam geschrieben.