Skip to content

Commit cbb48fd

Browse files
author
Steven
committed
Final resolving with new configuration entry
1 parent 7d30630 commit cbb48fd

File tree

2 files changed

+10
-11
lines changed

2 files changed

+10
-11
lines changed

main.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ def main():
3737
kick_message = ""
3838
samples = configuration["samples"]
3939
try:
40-
show_ip = configuration["show_ip_if_hostname_available"]
40+
show_hostname = configuration["show_hostname_if_available"]
4141
except KeyError:
42-
configuration["show_ip_if_hostname_available"] = True
43-
show_ip = True
42+
configuration["show_hostname_if_available"] = True
43+
show_hostname = True
4444
with open("config.json", 'w') as file:
4545
json.dump(configuration, file, sort_keys=True, indent=4, ensure_ascii=False)
4646

@@ -57,7 +57,7 @@ def main():
5757
try:
5858
global server
5959
logger.info("Setting up server...")
60-
server = SocketServer(ip, port, motd, version_text, kick_message, samples, server_icon, logger, show_ip)
60+
server = SocketServer(ip, port, motd, version_text, kick_message, samples, server_icon, logger, show_hostname)
6161
server.start()
6262
except KeyboardInterrupt:
6363
logger.info("Shutting down server...")

socket_server.py

+6-7
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
1-
import _thread
21
import json
32
import socket
43
import uuid
4+
from threading import Thread
55

66
import byte_utils
77

88

99
class SocketServer:
10-
11-
def __init__(self, ip, port, motd, version_text, kick_message, samples, server_icon, logger, show_ip):
10+
def __init__(self, ip, port, motd, version_text, kick_message, samples, server_icon, logger, show_hostname):
1211
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
1312
self.ip = ip
1413
self.port = port
@@ -18,7 +17,7 @@ def __init__(self, ip, port, motd, version_text, kick_message, samples, server_i
1817
self.samples = samples
1918
self.server_icon = server_icon
2019
self.logger = logger
21-
self.show_ip = show_ip
20+
self.show_hostname = show_hostname
2221

2322
def on_new_client(self, client_socket, addr):
2423
data = client_socket.recv(1024)
@@ -42,8 +41,8 @@ def on_new_client(self, client_socket, addr):
4241
(port, i) = byte_utils.read_ushort(data, i)
4342
(state, i) = byte_utils.read_varint(data, i)
4443

45-
fqdn = socket.getfqdn(addr[0])
46-
if self.show_ip and client_ip != fqdn:
44+
fqdn = socket.getfqdn(client_ip)
45+
if self.show_hostname and client_ip != fqdn:
4746
client_ip = fqdn + "/" + client_ip
4847

4948
if state == 1:
@@ -112,7 +111,7 @@ def start(self):
112111
self.logger.info("Server started on %s:%s! Waiting for incoming connections..." % (self.ip, self.port))
113112
while 1:
114113
(client, address) = self.sock.accept()
115-
_thread.start_new_thread(self.on_new_client, (client, address,))
114+
Thread(target=self.on_new_client, daemon=True, args=(client, address,)).start()
116115

117116
def close(self):
118117
self.sock.close()

0 commit comments

Comments
 (0)