- 17
- 8
Недавно вышел обход для БР, мне стало интересно как он работает, примерную суть я уловил, но теперь хотелось бы воссоздать данный обход полностью.
Что у меня по итогу вышло, сервер пингуется в клиенте SA:MP, но очень криво пинг скачет до 20000 потом пропадает отображение игроков и впринципе название сервера.
На сам сервер соответственно тоже не пускает (обход с onConnectionRequestAccepted стоит).
Подскажите где я что-то не так сделал).
Код на питоне:
import socket
import random
import subprocess
import time
server = 'vladikavkaz'
destination_ip = f'{server}.blackrussia.online'
destination_port = 5125
def curl_get_request(server):
command = [r'curl', '-X', 'GET', f'http://{server}.blackrussia.online:80']
result = subprocess.run(command, capture_output=True, text=True)
return result.stdout
response = curl_get_request(server)
print(response)
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
random_port = random.randint(1024, 65535)
sock.bind(('0.0.0.0', random_port))
print(f'Listening on 0.0.0.0:{random_port} and forwarding to {destination_ip}:{destination_port}')
while True:
try:
data, addr = sock.recvfrom(1024)
print(f'Received packet from {addr}: {data.hex()}')
sock.sendto(data, (destination_ip, destination_port))
print(f'Forwarded packet to {destination_ip}:{destination_port}')
response, _ = sock.recvfrom(1024)
print(f'Received response from {destination_ip}: {response.hex()}')
sock.sendto(response, addr)
print(f'Sent response back to {addr}')
except Exception as e:
print(f'An error occurred: {e}')
На сам сервер соответственно тоже не пускает (обход с onConnectionRequestAccepted стоит).
Подскажите где я что-то не так сделал).