serverinfo.xml

Twen

Призрачный страж раздела Loong
Пользователь
17 Авг 2013
53
31
18
30
Россия, Ярославль
gtwenty.com
Решил поделиться простеньким скриптом, который проверяет статус сервера, его нагрузку и выдаёт её в serverinfo.xml, благодаря чему при выборе сервера цветом показывается нагрузка, либо стоит серый цвет.
Внимание: требуется какой-нибудь скрипт, выдающий просто цифру онлайна.

Требования:
Python 3.x

Модули:
Tornado
Requests

Код:
import tornado.ioloop
import tornado.web
import requests
import socket
 
"""
CONFIGS
"""
 
# Serverinfo.xml
server_name = "Имя вашего сервера"
world_id = 200001
borough = "Регион, как в login.ini на сервере"
server_ip = "IP сервера"
max_connected_clients = 100  # максимальное ограничение онлайна 
status_link = "Ссылка на скрипт статуса"
server_port = 4200  # порт геймсервера
 
# Patchinfo.txt - coming soon
patch_folder = "./patch/"
hash_baby = True
""""""
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 
 
class ServerInfoHandler(tornado.web.RequestHandler):
	def get(self):
		self.load = 0
		link = requests.get(status_link)
		if link.status_code == 200:
			self.load = int(int(link.content)/max_connected_clients*100)
 
		server = sock.connect_ex((server_ip, server_port))
		if server != 0:
			self.load = -1
 
		xml_template = """<?xml version="1.0" encoding="UTF-8"?>
			<root>
				<item name="{}" worldid="{}" borogh="{}" boroughrank="1" ip="{}" port="{}" state="{}" recommend="1" worldrank="0" recorank="1"/>
			</root>
		"""
		self.set_header('Content-Type', 'text/xml')
		final_xml = xml_template.format(server_name, world_id, borough, server_ip, server_port, self.load)
		self.write(final_xml)
 
 
def make_app():
	return tornado.web.Application([
		(r"/serverinfo.xml", ServerInfoHandler)
	])
 
 
if __name__ == "__main__":
	app = make_app()
	app.listen(8888)
	tornado.ioloop.IOLoop.current().start()

По скрипту статуса - вам нужно число из запроса к loong_login:
Код:
SELECT COUNT(1) FROM account WHERE login_status != 0
 

Пользователи онлайн

Последние ресурсы

Статистика форума

Темы
3.838
Сообщения
21.203
Пользователи
7.648
Новый пользователь
Hastino