Page 1 of 1

Communication between AMXX and Python using sockets

Posted: Fri Oct 09, 2026 9:50 pm
by Archive-Poster
Python script

Code: Select all

import socket

host = ''
port = 54500

s = socket.socket()
s.bind((host, port))

s.listen(32)
conn, address = s.accept()
print("Connection from: " + str(address))

while True:
    data = conn.recv(256).decode()
    if not data:
        break
    print("from connected user: " + str(data))
    data = input(" -> ");
    conn.send(data.encode())
Pawn script

Code: Select all

#include <amxmodx>
#include <sockets>

#define LOCAL "localhost"
#define PORT 54500

new s, error, data[256];

public plugin_init(){
    register_srvcmd("send", "srvcmd_send");
}

public plugin_cfg(){
    s = socket_open(LOCAL, PORT, SOCKET_TCP, error);
    
    if (!error){
        set_task(0.1, "get_data", .flags="b");
        data = "connected";
        socket_send(s, data, charsmax(data));       
    }
}

public srvcmd_send(){
    new args[32];
    read_args(args, charsmax(args));
    
    socket_send(s, args, charsmax(args));
}

public get_data(){
    if (socket_is_readable(s)){
        socket_recv(s, data, charsmax(data));
        server_print(data);
    }
}