Tool [Release]MySock - Adminpage tool + Adminpage disable dif

Stato
Discussione chiusa ad ulteriori risposte.

martysama0134

Utente Platinum
9 Gennaio 2009
3,446
80
1,703
1,107
Ultima modifica da un moderatore:
VERSIONE MIGLIORATA IN PYTHON: CLICK


Intro:
MySock è un semplice programmino (per freebsd) che da la possibilità di usare l'adminpage direttamente dal proprio server (a mo' di localhost) e combinarlo con la shell per fare qualcosa di più automatico, dinamico e sicuro. (non testatelo su altri server perché sui syslog appare l'ip di chi lo usa)

Screen:
28u2n7r.png


Uso:
Per usarlo è semplice.
Ci si posiziona nel percorso del file e (dopo messi i permessi "chmod 755 mysock") lo si richiama con ./mysock
Possiede solo 3 parametri e sono:
  • -h //per visualizzare il manuale del programma
    Codice:
    ./mysock -h
  • -m <par.> //per inviare i comandi da argomento (non usate :; nei comandi!)
    Codice:
    ./mysock -m "host:porta;@SHOWMETHEMONEY\n@tuocomando\n@ecc ecc\n"
  • -f <file> //per inviare i comandi da file
    Codice:
    ./mysock -f "miofile.txt"
    Il file dovrà essere impostato così:
    Codice:
    ip
    porta
    @SHOWMETHEMONEY
    @comando
    @comando
    \n (la \n sta ad indicare che deve esserci una linea vuota, potete ommetter tale carattere se volete... ma la linea vuota ci deve essere!)

Vi ricordo alcune semplici cose:
  • La porta da usare è quella che nel CONFIG è espressa con "PORT:" e non "P2P_PORT:".
  • Per impostare i dati dell'adminpage sempre da CONFIG si fa così:
    Codice:
    adminpage_ip1: vostro_ip
    adminpage_password: vostra_password
  • Il protocollo per la connessione socket che ho usato non permette di connettersi agli host "localhost|127.0.0.1" quindi dovrete mettere un ip reale (e non locale) del server.

Nell'archivio troverete il dif "adminpage_disable.dif" che "disattiverà" il controllo di tutti i pacchetti dell'adminpage rendendovi "completamente immuni" ad apitool, pysocket, mysocket ecc. (nei log comunque vi apparirà l'ip di chi inizializzerà una connessione socket di questo tipo ma ormai i riferimenti all'adminpage/adminpanel non esistono più quindi il comando va a vuoto anche se host:porta e pwd fossero giuste)


Download


Ecco una funzione in lua per richiamar il tool da quest:
Codice:
function game.send_cmd(host,port,key,cmd)
	if(key==nil)then
		key="SHOWMETHEMONEY"
	end
	if(host==nil)or(port==nil)or(cmd==nil)then
		return false
	end
	if(type(cmd)=="table")then
		cmd=join("\n@",cmd) --[[require declare join function]]
	end
	os.execute([[/root/mysock -m "]]..host..[[:]]..port..[[;@]]..key..[[\n@]]..cmd..[[\n"]])
end

--to use
game.send_cmd("123.123.123.123","13003",nil,"EVENT xmas_sock 1")
--or
game.send_cmd("123.123.123.123","13003",nil,{"NOTICE Yeah!","EVENT xmas_sock 1", "EVENT xmas_tree 4", etc, etc})
 
Una specie di console Metin2 invece che su pc (Windows) su FreeBSD direttamente nel server..comodo ;)
 
Ecco una funzione in lua per richiamar il tool da quest:
Codice:
function game.send_cmd(host,port,key,cmd)
	if(key==nil)then
		key="SHOWMETHEMONEY"
	end
	if(host==nil)or(port==nil)or(cmd==nil)then
		return false
	end
	if(type(cmd)=="table")then
		cmd=join("\n@",cmd) --[[require declare join function]]
	end
	os.execute([[/root/mysock -m "]]..host..[[:]]..port..[[;@]]..key..[[\n@]]..cmd..[[\n"]])
end

--to use
game.send_cmd("123.123.123.123","13003",nil,"EVENT xmas_sock 1")
--or
game.send_cmd("123.123.123.123","13003",nil,{"NOTICE Yeah!","EVENT xmas_sock 1", "EVENT xmas_tree 4", etc, etc})
Addata funzione in lua! (su richiesta di un pinco pallino crukken)
 
Stato
Discussione chiusa ad ulteriori risposte.