Bu PySockAPI aslında çok basit mantıkla çalışan bir araç. Direkt Metin2 server’a adminpage üzerinden socket bağlantısı kurup komut göndermeye yarıyor. Yani panel açmadan, shell üzerinden event yönetmek, notice atmak, rate değiştirmek falan tamamen otomatik hale geliyor.

Çalışma mantığı şöyle: client tarafında bir script var, server’ın adminpage portuna bağlanıyor ve gönderdiğin komutu direkt execute ediyor. Özellikle event yönetimi ve online kontrol işlerinde baya pratik.
Kullanım Komutları
- Komut göndermek:
./pysock.py -c "<command>"
- Konfig dosyasından veri alıp komut göndermek:
./pysock.py -g -c "<command>"
- Dosyadan komut çalıştırmak:
./pysock.py -f "<file>"
- Yardım menüsü:
./pysock.py -h
- Host bilgisi set edip kaydetmek:
./pysock.py -s "<host>:<port>:<pwd>" -c "<command>"
- Raw mode (tam manuel kontrol):
./pysock.py -r "<host:port> <adminpwd> <command>"
Örnek Kullanımlar
Dosyadan komut basma:
./pysock.py -f "mysock_cmd.txt"
Konfig kaydedip aynı anda notice atma:
./pysock.py -s "123.456.78.90:13000:SHOWMETHEMONEY" -c "NOTICE 1;NOTICE 2;NOTICE 3"
Raw kullanım:
./pysock.py -r "173.194.35.6:13003 SHOWMETHEMONEY NOTICE 1;NOTICE 2;USER_COUNT"
Sistem Mantığı (Önemli Noktalar)
- Adminpage portu kullanılıyor, CONFIG içindeki PORT değeri esas alınır (P2P değil).
adminpage_ip1veadminpage_passwordCONFIG üzerinden set edilir.- Localhost/127.0.0.1 genelde çalışmaz, gerçek IP gerekir.
- USER_COUNT gibi komutlarda server return değeri okunabilir.
pysock_cmd.txtiçine satır satır komut yazılabilir.

Örnek dosya:
NOTICE Uno!
NOTICE Due!
NOTICE Ecc!
Lua Entegrasyonu (Quest İçinden Kullanım)
Quest veya game logic içinden çağırmak için basit bir wrapper var:
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)
end os.execute([[/root/pysockapi.py -m "]]..host..[[:]]..port..[[;@]]..key..[[\n@]]..cmd..[[\n"]])
end

game.send_cmd("123.123.123.123","13003",nil,"EVENT xmas_sock 1")veya batch:
game.send_cmd("123.123.123.123","13003",nil,{
"NOTICE Yeah!",
"EVENT xmas_sock 1",
"EVENT xmas_tree 4"
})Genel olarak bu tool’un olayı server’ı panel açmadan terminalden yönetmek. Event, notice, kick, rate vs. gibi şeyleri hızlı döndürmek için baya işe yarıyor ama direkt production’da dikkatli kullanılmalı, çünkü full admin erişim mantığında çalışıyor.
Paylaş :




