.BANCHO. Changed config.ini structure, better logs, add logs to output file
This commit is contained in:
@@ -48,19 +48,20 @@ class config:
|
||||
self.config.get("db","database")
|
||||
self.config.get("db","workers")
|
||||
|
||||
self.config.get("server","threads")
|
||||
self.config.get("server","port")
|
||||
self.config.get("server","localizeusers")
|
||||
self.config.get("server","outputpackets")
|
||||
self.config.get("server","outputrequesttime")
|
||||
self.config.get("server","timeouttime")
|
||||
self.config.get("server","timeoutlooptime")
|
||||
self.config.get("server","threads")
|
||||
self.config.get("server","gzip")
|
||||
self.config.get("server","gziplevel")
|
||||
self.config.get("server","localize")
|
||||
self.config.get("server","cikey")
|
||||
|
||||
self.config.get("debug","enable")
|
||||
self.config.get("debug","packets")
|
||||
self.config.get("debug","time")
|
||||
|
||||
self.config.get("discord","enable")
|
||||
self.config.get("discord","boturl")
|
||||
self.config.get("discord","devgroup")
|
||||
|
||||
self.config.get("ci","key")
|
||||
return True
|
||||
except:
|
||||
return False
|
||||
@@ -82,19 +83,20 @@ class config:
|
||||
self.config.set("db", "workers", "4")
|
||||
|
||||
self.config.add_section("server")
|
||||
self.config.set("server", "threads", "16")
|
||||
self.config.set("server", "port", "5001")
|
||||
self.config.set("server", "localizeusers", "1")
|
||||
self.config.set("server", "outputpackets", "0")
|
||||
self.config.set("server", "outputrequesttime", "0")
|
||||
self.config.set("server", "timeoutlooptime", "100")
|
||||
self.config.set("server", "timeouttime", "100")
|
||||
self.config.set("server", "threads", "16")
|
||||
self.config.set("server", "gzip", "1")
|
||||
self.config.set("server", "gziplevel", "6")
|
||||
self.config.set("server", "localize", "1")
|
||||
self.config.set("server", "cikey", "changeme")
|
||||
|
||||
self.config.add_section("ci")
|
||||
self.config.set("ci", "key", "changeme")
|
||||
self.config.add_section("debug")
|
||||
self.config.set("debug", "enable", "0")
|
||||
self.config.set("debug", "packets", "0")
|
||||
self.config.set("debug", "time", "0")
|
||||
|
||||
self.config.add_section("discord")
|
||||
self.config.set("discord", "enable", "False")
|
||||
self.config.set("discord", "enable", "0")
|
||||
self.config.set("discord", "boturl", "")
|
||||
self.config.set("discord", "devgroup", "")
|
||||
|
||||
|
@@ -127,10 +127,10 @@ class db:
|
||||
if self.disconnected == True:
|
||||
# If we were disconnected, set disconnected to false and print message
|
||||
self.disconnected = False
|
||||
consoleHelper.printColored("> Reconnected to MySQL server!", bcolors.GREEN)
|
||||
log.error("> Reconnected to MySQL server!", bcolors.GREEN)
|
||||
except:
|
||||
# Can't ping MySQL server. Show error and call loop in 5 seconds
|
||||
consoleHelper.printColored("[!] CRITICAL!! MySQL connection died! Make sure your MySQL server is running! Checking again in 5 seconds...", bcolors.RED)
|
||||
log.error("[!] CRITICAL!! MySQL connection died! Make sure your MySQL server is running! Checking again in 5 seconds...", bcolors.RED)
|
||||
self.disconnected = True
|
||||
time = 5
|
||||
|
||||
|
@@ -1,8 +1,7 @@
|
||||
import urllib.request
|
||||
import json
|
||||
|
||||
from helpers import consoleHelper
|
||||
from constants import bcolors
|
||||
from helpers import logHelper as log
|
||||
|
||||
# API URL
|
||||
URL = "http://ip.zxq.co/"
|
||||
@@ -16,15 +15,12 @@ def getCountry(ip):
|
||||
return -- Country code (2 letters)
|
||||
"""
|
||||
|
||||
# Default value, sent if API is memeing
|
||||
country = "XX"
|
||||
|
||||
try:
|
||||
# Try to get country from Pikolo Aul's Go-Sanic ip API
|
||||
result = json.loads(urllib.request.urlopen("{}/{}".format(URL, ip), timeout=3).read().decode())["country"]
|
||||
return result.upper()
|
||||
except:
|
||||
consoleHelper.printColored("[!] Error in get country", bcolors.RED)
|
||||
log.error("Error in get country")
|
||||
return "XX"
|
||||
|
||||
|
||||
@@ -36,13 +32,10 @@ def getLocation(ip):
|
||||
return -- [latitude, longitude]
|
||||
"""
|
||||
|
||||
# Default value, sent if API is memeing
|
||||
data = [0,0]
|
||||
|
||||
try:
|
||||
# Try to get position from Pikolo Aul's Go-Sanic ip API
|
||||
result = json.loads(urllib.request.urlopen("{}/{}".format(URL, ip), timeout=3).read().decode())["loc"].split(",")
|
||||
return [float(result[0]), float(result[1])]
|
||||
except:
|
||||
consoleHelper.printColored("[!] Error in get position", bcolors.RED)
|
||||
log.error("Error in get position")
|
||||
return [0,0]
|
||||
|
@@ -1,8 +1,11 @@
|
||||
from constants import bcolors
|
||||
from helpers import discordBotHelper
|
||||
from helpers import generalFunctions
|
||||
from helpers.systemHelper import runningUnderUnix
|
||||
from objects import glob
|
||||
|
||||
def logMessage(message, alertType = INFO, messageColor = bcolors.ENDC, discord = False, alertDev = False, of = None):
|
||||
ENDL = "\n" if runningUnderUnix() else "\r\n"
|
||||
def logMessage(message, alertType = "INFO", messageColor = bcolors.ENDC, discord = False, alertDev = False, of = None, stdout = True):
|
||||
"""
|
||||
Logs a message to stdout/discord/file
|
||||
|
||||
@@ -12,15 +15,17 @@ def logMessage(message, alertType = INFO, messageColor = bcolors.ENDC, discord =
|
||||
discord -- if True, the message will be logged on #bunker channel on discord. Default: False
|
||||
alertDev -- if True, devs will receive an hl on discord. Default: False
|
||||
of -- if not None but a string, log the message to that file (inside .data folder). Eg: "warnings.txt" Default: None (don't log to file)
|
||||
stdout -- if True, print the message to stdout. Default: True
|
||||
"""
|
||||
|
||||
# Get type color from alertType
|
||||
if alertType == "INFO":
|
||||
typeColor = bcolors.GREEN
|
||||
elif alertType == "WARNING":
|
||||
typeColor = bcolors.YELLOW
|
||||
elif typeColor == "ERROR":
|
||||
elif alertType == "ERROR":
|
||||
typeColor = bcolors.RED
|
||||
elif alertType == "CHAT":
|
||||
typeColor = bcolors.BLUE
|
||||
else:
|
||||
typeColor = bcolors.ENDC
|
||||
|
||||
@@ -37,8 +42,9 @@ def logMessage(message, alertType = INFO, messageColor = bcolors.ENDC, discord =
|
||||
messageColor=messageColor,
|
||||
endc=bcolors.ENDC)
|
||||
|
||||
# Always log to console
|
||||
print(finalMessageConsole)
|
||||
# Log to console
|
||||
if stdout == True:
|
||||
print(finalMessageConsole)
|
||||
|
||||
# Log to discord if needed
|
||||
if discord == True:
|
||||
@@ -48,7 +54,7 @@ def logMessage(message, alertType = INFO, messageColor = bcolors.ENDC, discord =
|
||||
if of != None:
|
||||
# TODO: Lock
|
||||
with open(".data/{}".format(of), "a") as f:
|
||||
f.write(finalMessage)
|
||||
f.write(finalMessage+ENDL)
|
||||
|
||||
def warning(message, discord = False, alertDev = False):
|
||||
"""
|
||||
@@ -69,3 +75,38 @@ def error(message, discord = False, alertDev = True):
|
||||
alertDev -- if True, send al hl to devs on discord. Optional. Default = False.
|
||||
"""
|
||||
logMessage(message, "ERROR", bcolors.RED, discord, alertDev, "errors.txt")
|
||||
|
||||
def info(message, discord = False, alertDev = False):
|
||||
"""
|
||||
Log an error to stdout (and info.log)
|
||||
|
||||
message -- info message
|
||||
discord -- if True, send error to #bunker. Optional. Default = False.
|
||||
alertDev -- if True, send al hl to devs on discord. Optional. Default = False.
|
||||
"""
|
||||
logMessage(message, "INFO", bcolors.ENDC, discord, alertDev, "info.txt")
|
||||
|
||||
def debug(message):
|
||||
"""
|
||||
Log a debug message to stdout and debug.log if server is running in debug mode
|
||||
|
||||
message -- debug message
|
||||
"""
|
||||
if glob.debug == True:
|
||||
logMessage(message, "DEBUG", bcolors.PINK, of="debug.txt")
|
||||
|
||||
def chat(message):
|
||||
"""
|
||||
Log public messages to stdout and chatlog_public.txt
|
||||
|
||||
message -- chat message
|
||||
"""
|
||||
logMessage(message, "CHAT", bcolors.BLUE, of="chatlog_public.txt")
|
||||
|
||||
def pm(message):
|
||||
"""
|
||||
Log private messages to stdout and chatlog_private.txt
|
||||
|
||||
message -- chat message
|
||||
"""
|
||||
logMessage(message, "CHAT", bcolors.BLUE, of="chatlog_private.txt")
|
||||
|
@@ -3,11 +3,9 @@ from constants import serverPackets
|
||||
import psutil
|
||||
import os
|
||||
import sys
|
||||
|
||||
from helpers import consoleHelper
|
||||
from constants import bcolors
|
||||
import threading
|
||||
import signal
|
||||
from helpers import logHelper as log
|
||||
|
||||
def runningUnderUnix():
|
||||
"""
|
||||
@@ -29,8 +27,8 @@ def scheduleShutdown(sendRestartTime, restart, message = ""):
|
||||
"""
|
||||
|
||||
# Console output
|
||||
consoleHelper.printColored("[!] Pep.py will {} in {} seconds!".format("restart" if restart else "shutdown", sendRestartTime+20), bcolors.PINK)
|
||||
consoleHelper.printColored("[!] Sending server restart packets in {} seconds...".format(sendRestartTime), bcolors.PINK)
|
||||
log.info("Pep.py will {} in {} seconds!".format("restart" if restart else "shutdown", sendRestartTime+20))
|
||||
log.info("Sending server restart packets in {} seconds...".format(sendRestartTime))
|
||||
|
||||
# Send notification if set
|
||||
if message != "":
|
||||
@@ -52,13 +50,13 @@ def scheduleShutdown(sendRestartTime, restart, message = ""):
|
||||
|
||||
def restartServer():
|
||||
"""Restart pep.py script"""
|
||||
print("> Restarting pep.py...")
|
||||
log.info("Restarting pep.py...")
|
||||
os.execv(sys.executable, [sys.executable] + sys.argv)
|
||||
|
||||
|
||||
def shutdownServer():
|
||||
"""Shutdown pep.py"""
|
||||
print("> Shutting down pep.py...")
|
||||
log.info("> Shutting down pep.py...")
|
||||
sig = signal.SIGKILL if runningUnderUnix() else signal.CTRL_C_EVENT
|
||||
os.kill(os.getpid(), sig)
|
||||
|
||||
|
Reference in New Issue
Block a user