Ich habs mit Kromo mal darüber gehabt, oben rechts auf uhuc.de eine kleine Tabelle zu machen, die die Anzahl der gerade verbundenen Usern für #uhuc, mumble und minecraft anzeigt.
Ich hab hier jetzt 2 kleine Skripte gebastelt, die für Minecraft und Mumble funktionieren sollten (hab sie noch nicht richtig getestet). Für den IRC-Counter müsste ein Bot oder so die Anzahl der User im Channel auslesen.
Funktionsweise:
Der Server ermittelt die Anzahl der TCP-Verbindungen am $port und schreibt diese in ein File. Das File sollte hierbei über HTTP(s) öffentlich zugänglich sein.
Der Client liest die Config aus und läd sich die Informationen herunter. Diese schreibt gebündelt in ein File, welches zb via PHP oder so ausgelesen und in die HP eingefügt werden kann.
Server:
Client:
Das Format der Config: name;url\n
Das Format des Outputfiles: name;anzahl\n
Bei Änderungen am Code bitte das komplette Programm (Server und/oder Client) posten.
Ich hab hier jetzt 2 kleine Skripte gebastelt, die für Minecraft und Mumble funktionieren sollten (hab sie noch nicht richtig getestet). Für den IRC-Counter müsste ein Bot oder so die Anzahl der User im Channel auslesen.
Funktionsweise:
Der Server ermittelt die Anzahl der TCP-Verbindungen am $port und schreibt diese in ein File. Das File sollte hierbei über HTTP(s) öffentlich zugänglich sein.
Der Client liest die Config aus und läd sich die Informationen herunter. Diese schreibt gebündelt in ein File, welches zb via PHP oder so ausgelesen und in die HP eingefügt werden kann.
Server:
Code:
#!/bin/sh
# Version 0.1
anzahl=0
port=80
file=/tmp/anzahl.txt
anzahl=$(netstat -tn | grep -i ${port} | grep ESTABLISHED | wc -l)
anzahl > file
Client:
Code:
#!/usr/bin/python2
# -*- coding: utf-8 -*-
# Version: 0.1
import os
import sys
import urllib2
path="pfadZurConfig"
outputfile="pfadZumOutput"
# Liest die config
temp = open(path, "r")
config = {}
for line in temp:
config[ line.split(";")[0] ] = line.split(";")[1]
temp.close()
o = ""
for key in config:
response = urllib2.urlopen(config[key])
anzahl = response.read()
o = key+";"+anzahl+"\n"
f = open('/anyfile','w')
f.write(o)
f.close()
Das Format der Config: name;url\n
Das Format des Outputfiles: name;anzahl\n
Bei Änderungen am Code bitte das komplette Programm (Server und/oder Client) posten.