fixing some bugs and optimizing code
This commit is contained in:
Dima YaFlay
2022-01-03 01:44:06 +03:00
committed by GitHub
parent 259e67aad9
commit 7f23d68370

View File

@@ -1,35 +1,33 @@
import os, shutil, datetime, psutil, time
from tkinter import messagebox from tkinter import messagebox
import urllib.request as urlreq from os import chdir, mkdir, remove, system, startfile, path, listdir, popen
from platform import architecture from shutil import rmtree
from datetime import datetime, date
from urllib.request import urlopen, urlretrieve
def time_user_def():
date = datetime.date.today()
clock = datetime.datetime.today()
time_user = 'Date today: '+ str(date)+ ', time now '+str( clock.strftime('%H.%M.%S'))
return time_user
# take time, date and directory
print(str(time_user_def()))
print('Starting to create a server!')
# User time
def internet_button(): def internet_button():
print('Internet checking!')
try: try:
urlreq.urlopen("http://github.com") urlopen("http://github.com")
print('Internet connected!')
return True return True
except IOError: except IOError:
print("Internet is broken!")
messagebox.showerror(title='Internet', message='Internet don`t connected, function download core, java, python and backup don`t working.') messagebox.showerror(title='Internet', message='Internet don`t connected, function download core, java, python and backup don`t working.')
return False return False
internet = internet_button()
def time_user_def():
datetimed = date.today()
clock = datetime.today()
time_user = 'Date today: '+ str(datetimed)+ ', time now '+str( clock.strftime('%H.%M.%S'))
# take time, date and directory
print(str(time_user))
print('Starting to create a server!')
# User time
time_user_def()
def create_command(): def create_command():
check_file = os.path.isdir('C:/minecraft') check_file = path.isdir('C:/minecraft')
if check_file == False: if check_file == False:
os.mkdir("C:/minecraft") mkdir("C:/minecraft")
os.chdir('C:\minecraft') chdir('C:\minecraft')
else: else:
os.chdir('C:/minecraft') chdir('C:/minecraft')
print('EULA text create...') print('EULA text create...')
# downloading server files in folder # downloading server files in folder
eula = open('eula.txt', 'w+') eula = open('eula.txt', 'w+')
@@ -51,187 +49,72 @@ java -Xmx1024M -Xms1024M -jar server.jar nogui
bat.close() bat.close()
# crate bat file and downloading jar core # crate bat file and downloading jar core
print('Created .bat file!') print('Created .bat file!')
# creating EULA text, and write in eula.txt messagebox.showinfo('EULA', 'eula, bat and folser created! Press OK for leave')
# this is 4rd checkbox
messagebox.showinfo('EULA', 'EULA and folders create! Press OK for leave')
def starting_server_button(): def starting_server_button():
os.chdir('C:/minecraft') chdir('C:/minecraft')
print('Downloading core...') print('Downloading core...')
url = 'https://launcher.mojang.com/v1/objects/a16d67e5807f57fc4e550299cf20226194497dc2/server.jar' url = 'https://launcher.mojang.com/v1/objects/a16d67e5807f57fc4e550299cf20226194497dc2/server.jar'
urlreq.urlretrieve(url, 'C:/minecraft/server.jar') urlretrieve(url, 'C:/minecraft/server.jar')
print('Core downloaded!') print('Core downloaded!')
messagebox.showinfo('bat file created', '.bat file and core created Press OK for leave') messagebox.showinfo('core downloaded', 'core created Press OK for leave')
# first checkbox command # first checkbox command
def server_properties_button(): def server_properties_button():
if internet_button(): if internet_button():
os.chdir('C:/minecraft') chdir('C:/minecraft')
url_server_properties = 'https://raw.githubusercontent.com/YaFlay/Minecraft_server_creating/main/server_properties.py' url_server_properties = 'https://raw.githubusercontent.com/YaFlay/Minecraft_server_creating/main/server_properties.py'
urlreq.urlretrieve(url_server_properties, 'C:/minecraft/server_properties.py') urlretrieve(url_server_properties, 'C:/minecraft/server_properties.py')
os.system('python3 C:/minecraft/server_properties.py') system('python3 C:/minecraft/server_properties.py')
print('Creating server.properties') print('Creating server.properties')
messagebox.showinfo('server.properties created', 'Minecraft server.properties created Press OK for leave') messagebox.showinfo('server.properties created', 'Minecraft server.properties created Press OK for leave')
os.remove('C:/minecraft/server_properties.py') remove('C:/minecraft/server_properties.py')
return True return True
else: messagebox.showerror(title='Internet', message='Internet don`t connected') else: messagebox.showerror(title='Internet', message='Internet don`t connected')
# second checkbox command # second checkbox command
def close_command_button(): def close_command_button():
os.remove(str(__file__)) remove(str(__file__))
os.remove('index.py') remove('index.py')
os.remove('windows.py') remove('windows.py')
remove('installer.py')
messagebox.showinfo('file deleted', 'minecraft.exe closed and deleted! Press OK for leave') messagebox.showinfo('file deleted', 'minecraft.exe closed and deleted! Press OK for leave')
# deleting main file # deleting main file
def start(): def start():
os.chdir('C:/minecraft') chdir('C:/minecraft')
os.system('start mine.bat') system('start mine.bat')
messagebox.showinfo('Server_start', 'Server started!! Press OK for leave') messagebox.showinfo('Server_start', 'Server started! Press OK for leave')
# starting server # starting server
def folder(): def folder():
os.startfile('C:/minecraft') startfile('C:/minecraft')
# start folder # start folder
def java_windows():
if internet_button():
if architecture() == '32bit':
java='https://bit.ly/java32python'
urlreq.urlretrieve(java, 'C:/minecraft/jre-8u311-windows-i586-iftw.exe')
print('Core downloaded')
print('Openning...')
os.chdir('C:/minecraft/')
os.startfile(r'C:/minecraft/jre-8u311-windows-i586-iftw.exe')
def process_name_32():
for proce in psutil.process_iter():
name = proce.name()
if name == 'jre-8u311-windows-i586-iftw.exe':
return True
while process_name_32():
time.sleep(5)
print('Java downloaded')
if os.path.isfile('C:/minecraft/jre-8u311-windows-i586-iftw.exe'):
os.remove('jre-8u311-windows-i586-iftw.exe')
print('Java installer deleted')
pass
messagebox.showinfo('Java_32', 'Java has been downloaded! Press ok for leave')
elif architecture() == '64bit':
java_64='https://bit.ly/java64python'
urlreq.urlretrieve(java_64, 'C:/minecraft/jre-8u311-windows-x64.exe')
print('Core downloaded')
print('Openning...')
os.chdir('C:/minecraft/')
os.startfile(r'C:/minecraft/jre-8u311-windows-x64.exe')
def process_name_64():
for proce in psutil.process_iter():
name = proce.name()
if name == 'jre-8u311-windows-x64.exe':
return True
while process_name_64():
time.sleep(5)
print('Java downloaded')
if os.path.isfile('C:/minecraft/jre-8u311-windows-x64.exe'):
os.remove('jre-8u311-windows-x64.exe')
print('Java installer deleted')
pass
pass
messagebox.showinfo('Java_64','Java has been downloaded! Press ok for leave')
else:
messagebox.showerror(title='Internet', message='Internet don`t connected')
# for downloading java 8u311 for windows
def delete_directory(): def delete_directory():
if os.path.isdir('C:/minecraft'): if path.isdir('C:/minecraft'):
os.chdir('C:/minecraft') chdir('C:/')
if os.path.isfile('eula.txt'): rmtree('C:/minecraft')
os.remove('eula.txt')
print('EULA deleted')
# deleting eula
if os.path.isfile('mine.bat'):
os.remove('mine.bat')
print('mine.bat deleted')
# deleting .bat file
if os.path.isfile('server.jar'):
os.remove('server.jar')
print('server.jar deleted')
# deleting core
if os.path.isfile('server.properties'):
os.remove('server.properties')
print('server.properties deleted')
# deleting server.properties
if os.path.isfile('banned-ips.json'):
os.remove('banned-ips.json')
print('banned-ips.json deleted')
# deleting banned-ips.json
if os.path.isfile('banned-players.json'):
os.remove('banned-players.json')
print('banned-players.json deleted')
# deleting banned-players.json
if os.path.isfile('ops.json'):
os.remove('ops.json')
print('ops.json deleted')
# deleting ops.json
if os.path.isfile('usercache.json'):
os.remove('usercache.json')
print('usercashe.json deleted')
# deleting ops.json
if os.path.isfile('whitelist.json'):
os.remove('whitelist.json')
print('whitelist deleted')
# deleting whitelist.json
# deleting all files in C:/minecraft
directory_file = os.listdir()
print(directory_file)
if directory_file == ['logs', 'world', 'backup']:
os.chdir('C:/')
shutil.rmtree('C:/minecraft')
else:
os.chdir('C:/')
shutil.rmtree('C:/minecraft')
# delete directory with files # delete directory with files
else: else:
print('Folder already deleted') print('Folder already deleted')
def backup_button(): def backup_button():
if internet_button(): if internet_button():
if os.path.isdir('C:/minecraft/backup/'): if path.isdir('C:/minecraft/backup/'):
os.chdir('C:/minecraft/backup') chdir('C:/minecraft/backup')
else: else:
os.mkdir('C:/minecraft/backup') mkdir('C:/minecraft/backup')
os.chdir('C:/minecraft/backup') chdir('C:/minecraft/backup')
# create folder # create folder
url_backup_text='https://raw.githubusercontent.com/YaFlay/Minecraft_server_creating/main/backup.py' url_backup_text='https://raw.githubusercontent.com/YaFlay/Minecraft_server_creating/main/backup.py'
if os.path.isfile('C:/minecraft/backup/backup.py'): if path.isfile('C:/minecraft/backup/backup.py'):
os.remove('C:/minecraft/backup/backup.py') remove('C:/minecraft/backup/backup.py')
urlreq.urlretrieve(url_backup_text, 'C:/minecraft/backup/backup.py') urlretrieve(url_backup_text, 'C:/minecraft/backup/backup.py')
os.chdir('C:/minecraft/backup/') chdir('C:/minecraft/backup/')
os.popen('python3 C:/minecraft/backup/backup.py') popen('python3 C:/minecraft/backup/backup.py')
# backuping minecraft files using python code from my github # backuping minecraft files using python code from my github
else: messagebox.showerror(title='Internet', message='Internet don`t connected') else: messagebox.showerror(title='Internet', message='Internet don`t connected')
def python_install():
if internet_button():
url = 'https://www.python.org/ftp/python/3.10.0/python-3.10.0-amd64.exe'
urlreq.urlretrieve(url, 'C:/minecraft/python-3.10.0-amd64.exe')
os.chdir('C:/minecraft/')
os.startfile(r'C:/minecraft/python-3.10.0-amd64.exe')
for process_python in psutil.process_iter():
name_python = process_python.name()
if name_python == 'python-3.10.0-amd64.exe':
print('Wait...')
time.sleep(30)
print('And 10 sec more')
time.sleep(10)
named_64 = process_python.name()
if not named_64 == 'python-3.10.0-amd64.exe':
process_python.kill()
print('Process has been eliminated!')
pass
pass
os.remove('python-3.10.0-amd64.exe')
messagebox.showinfo('Python','Python has been downloaded! Press ok for leave')
else: messagebox.showerror(title='Internet', message='Internet don`t connected')
# download python # download python
# take def for checkboxes and buttons # take def for checkboxes and buttons