From efb1dbe1830d6502ab05db50e05d6e50bff2ba79 Mon Sep 17 00:00:00 2001 From: christian Date: Thu, 17 Jun 2021 22:17:19 +0200 Subject: [PATCH] added a udp redirecter since sourcemod one only handles 127.0.0.1 seemingly --- AutismBotIngame/python/ingamefollowct.py | 1 + AutismBotIngame/python/udp_redirecter.py | 42 ++++++++++++++++++++ AutismBotIngame/scripting/autism_bot_info.sp | 10 ++--- 3 files changed, 46 insertions(+), 7 deletions(-) create mode 100644 AutismBotIngame/python/udp_redirecter.py diff --git a/AutismBotIngame/python/ingamefollowct.py b/AutismBotIngame/python/ingamefollowct.py index ce6b4bbf..80f1f3cf 100644 --- a/AutismBotIngame/python/ingamefollowct.py +++ b/AutismBotIngame/python/ingamefollowct.py @@ -144,6 +144,7 @@ if __name__ == '__main__': while True: data, addr = sock.recvfrom(buffer_size) data = codecs.decode(data, "utf-8", "ignore") + print(data) ip = addr[0] port = addr[1] #print('port: ', port, " ip: ", ip) diff --git a/AutismBotIngame/python/udp_redirecter.py b/AutismBotIngame/python/udp_redirecter.py new file mode 100644 index 00000000..3ff7907f --- /dev/null +++ b/AutismBotIngame/python/udp_redirecter.py @@ -0,0 +1,42 @@ +import os +import sys +import subprocess +import atexit +from threading import Timer +import string +import random +import signal +import socket +import codecs +import datetime +import time + + +if __name__ == '__main__': + local_ip = "127.0.0.1" + local_port = 48479 + udp_external_ip = "164.132.201.173" + buffer_size = 4096 #potentially not large enough? + sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + sock_external = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + sock.bind(("", local_port)) + print('reached deadlock') + try: + while True: + data, addr = sock.recvfrom(buffer_size) + data = codecs.decode(data, "utf-8", "ignore") + ip = addr[0] + port = addr[1] + #print('port: ', port, " ip: ", ip) + #print(data) + if not data or ip != local_ip: + continue + sock_external.sendto(data.encode(), (udp_external_ip, local_port)) + except KeyboardInterrupt: + pass + finally: + sock.close() + sock_external.close() +#UDP redirecter welp +#screen -d -m -S udp_redirecter python3 udp_redirecter.py diff --git a/AutismBotIngame/scripting/autism_bot_info.sp b/AutismBotIngame/scripting/autism_bot_info.sp index 1154d6a0..338cda5a 100644 --- a/AutismBotIngame/scripting/autism_bot_info.sp +++ b/AutismBotIngame/scripting/autism_bot_info.sp @@ -215,18 +215,14 @@ public void OnMapStart() public void send_socket_msg(char[] query_msg, int len) { - char server_ip[generic_length]; - Format(server_ip, sizeof(server_ip), "164.132.201.173"); if (global_socket != INVALID_HANDLE && SocketIsConnected(global_socket)) - SocketSendTo(global_socket, query_msg, len, server_ip, 48479); //udp + SocketSendTo(global_socket, query_msg, len, "127.0.0.1", 48479); //udp } public void send_socket_msg1(char[] query_msg, int len) { - char server_ip[generic_length]; - Format(server_ip, sizeof(server_ip), "164.132.201.173"); if (global_socket != INVALID_HANDLE && SocketIsConnected(global_socket)) - SocketSendTo(global_socket, query_msg, len, server_ip, 48480); //udp + SocketSendTo(global_socket, query_msg, len, "127.0.0.1", 48480); //udp } @@ -779,7 +775,7 @@ stock void connect_socket() //socket otherwise declare in public OnConfigsExecuted(){} global_socket = SocketCreate(SOCKET_UDP, OnSocketError); SocketSetOption(global_socket, SocketReuseAddr, 1); - SocketBind(global_socket, "127.0.0.1", 48475); + SocketBind(global_socket, "127.0.0.0", 48475); SocketConnect(global_socket, OnSocketConnected, OnSocketReceive, OnSocketDisconnected, "127.0.0.1", 48475); } }