mirror of
https://github.com/yawaflua/Minecraft_server_creating-BETA-.git
synced 2025-12-10 04:19:33 +02:00
1.1.2
Added: GUI for create and start server creating minecraft server.properties with checkbox starting server button selecting the files to install
This commit is contained in:
213
minecraft.py
213
minecraft.py
@@ -7,59 +7,184 @@ import os
|
|||||||
import urllib.request
|
import urllib.request
|
||||||
import datetime
|
import datetime
|
||||||
from urllib.request import urlopen
|
from urllib.request import urlopen
|
||||||
|
from tkinter import *
|
||||||
|
from tkinter import Checkbutton
|
||||||
|
from tkinter import messagebox
|
||||||
# import modules
|
# import modules
|
||||||
|
|
||||||
|
server_text = '''#Minecraft server properties
|
||||||
|
#Time dont aviable
|
||||||
|
|
||||||
z = datetime.date.today()
|
broadcast-rcon-to-ops=true
|
||||||
x = datetime.datetime.today()
|
view-distance=10
|
||||||
c = 'Date today: '+ str(z)+ ', time now '+str( x.strftime('%H.%M.%S'))
|
enable-jmx-monitoring=false
|
||||||
# take time and date
|
server-ip=
|
||||||
|
resource-pack-prompt=
|
||||||
|
rcon.port=25575
|
||||||
# opening and creating starting .bat and EULA.txt files
|
gamemode=survival
|
||||||
|
server-port=25565
|
||||||
|
allow-nether=true
|
||||||
|
enable-command-block=false
|
||||||
|
enable-rcon=false
|
||||||
|
sync-chunk-writes=true
|
||||||
|
enable-query=false
|
||||||
|
op-permission-level=4
|
||||||
|
prevent-proxy-connections=false
|
||||||
|
resource-pack=
|
||||||
|
entity-broadcast-range-percentage=100
|
||||||
|
level-name=world
|
||||||
|
rcon.password=
|
||||||
|
player-idle-timeout=0
|
||||||
|
motd=A Minecraft Server
|
||||||
|
query.port=25565
|
||||||
|
force-gamemode=false
|
||||||
|
rate-limit=0
|
||||||
|
hardcore=false
|
||||||
|
white-list=false
|
||||||
|
broadcast-console-to-ops=true
|
||||||
|
pvp=true
|
||||||
|
spawn-npcs=true
|
||||||
|
spawn-animals=true
|
||||||
|
snooper-enabled=true
|
||||||
|
difficulty=easy
|
||||||
|
function-permission-level=2
|
||||||
|
network-compression-threshold=256
|
||||||
|
text-filtering-config=
|
||||||
|
require-resource-pack=false
|
||||||
|
spawn-monsters=true
|
||||||
|
max-tick-time=60000
|
||||||
|
enforce-whitelist=false
|
||||||
|
use-native-transport=true
|
||||||
|
max-players=20
|
||||||
|
resource-pack-sha1=
|
||||||
|
spawn-protection=16
|
||||||
|
online-mode=true
|
||||||
|
enable-status=true
|
||||||
|
allow-flight=false
|
||||||
|
max-world-size=29999984
|
||||||
|
'''
|
||||||
|
# This is minecraft properties file
|
||||||
|
directory = os.getcwd()
|
||||||
|
date = datetime.date.today()
|
||||||
|
clock = datetime.datetime.today()
|
||||||
|
time = 'Date today: '+ str(date)+ ', time now '+str( clock.strftime('%H.%M.%S'))
|
||||||
|
# take time, date and directory
|
||||||
|
|
||||||
|
print(str(time))
|
||||||
print('Starting to create a server!')
|
print('Starting to create a server!')
|
||||||
print(str(c))
|
# Give hor user time
|
||||||
# Give now time, and print for user
|
|
||||||
|
|
||||||
check_file = os.path.exists('C:/minecraft')
|
#
|
||||||
if check_file == False:
|
#
|
||||||
os.mkdir("C:/minecraft")
|
#
|
||||||
os.chdir('C:\minecraft')
|
print(' ')
|
||||||
else: os.chdir('C:/minecraft')
|
def create_command():
|
||||||
print('Create Minecraft server folder...')
|
print('Create minecraft folder!')
|
||||||
# check folder, if u dont have, creating
|
check_file = os.path.exists('C:/minecraft')
|
||||||
|
if check_file == False:
|
||||||
|
os.mkdir("C:/minecraft")
|
||||||
|
os.chdir('C:\minecraft')
|
||||||
|
else: os.chdir('C:/minecraft')
|
||||||
|
|
||||||
|
print('Create Minecraft server folder...')
|
||||||
url = 'https://launcher.mojang.com/v1/objects/a16d67e5807f57fc4e550299cf20226194497dc2/server.jar'
|
print('EULA text create!')
|
||||||
urllib.request.urlretrieve(url, 'C:/minecraft/server.jar')
|
# downloading server files in folder
|
||||||
print('Server core downloaded...')
|
eula = open('eula.txt', 'w+')
|
||||||
# downloading server files in folder
|
eula_text = '''#Mojang EULA(https://account.mojang.com/documents/minecraft_eula).
|
||||||
|
|
||||||
eul = open('eula.txt', 'w+')
|
|
||||||
c = '''#Mojang EULA(https://account.mojang.com/documents/minecraft_eula).
|
|
||||||
# Time is not aviable
|
# Time is not aviable
|
||||||
# Made by https://github.com/yaflay
|
# Made by https://github.com/yaflay
|
||||||
|
|
||||||
eula=true
|
eula=true
|
||||||
'''
|
|
||||||
eul.write(str(c))
|
|
||||||
eul.close()
|
|
||||||
print('EULA text has been created...')
|
|
||||||
# creating EULA text, and write in eula.txt
|
|
||||||
|
|
||||||
a = open('mine.bat', 'w+')
|
|
||||||
b = '''
|
|
||||||
|
|
||||||
java -Xmx1024M -Xms1024M -jar server.jar
|
|
||||||
|
|
||||||
'''
|
'''
|
||||||
a.write(str(b))
|
eula.write(str(eula_text))
|
||||||
a.close()
|
eula.close()
|
||||||
print('Create .bat file...')
|
print('EULA text has been created...')
|
||||||
# creating .bat text and write in mine.bat file
|
# creating EULA text, and write in eula.txt
|
||||||
|
# this is 4rd checkbox
|
||||||
|
messagebox.showinfo('EULA and folders create!', 'Press OK for leave')
|
||||||
|
|
||||||
|
def starting_server_button():
|
||||||
|
bat = open('mine.bat', 'w+')
|
||||||
|
bat_text = '''
|
||||||
|
java -Xmx1024M -Xms1024M -jar server.jar
|
||||||
|
'''
|
||||||
|
bat.write(str(bat_text))
|
||||||
|
bat.close()
|
||||||
|
# crate bat file and downloading jar core
|
||||||
|
print('Create .bat file...')
|
||||||
|
url = 'https://launcher.mojang.com/v1/objects/a16d67e5807f57fc4e550299cf20226194497dc2/server.jar'
|
||||||
|
urllib.request.urlretrieve(url, 'C:/minecraft/server.jar')
|
||||||
|
messagebox.showinfo('.bat file and core created', 'Press OK for leave')
|
||||||
|
|
||||||
|
# first checkbox command
|
||||||
|
def server_properties_button():
|
||||||
|
server_properties = open('server.properties', 'w+')
|
||||||
|
server_properties.write(str(server_text))
|
||||||
|
print('Creating server.properties')
|
||||||
|
messagebox.showinfo('Minecraft server.properties created', 'Press OK for leave')
|
||||||
|
|
||||||
|
# second checkbox command
|
||||||
|
def close_command_button():
|
||||||
|
|
||||||
|
os.chdir(str(directory))
|
||||||
|
print(directory)
|
||||||
|
py = open('minecraft.py', 'r')
|
||||||
|
py.close()
|
||||||
|
os.replace(str(directory)+'/minecraft.py', 'C:/minecraft/minecraft.py')
|
||||||
|
os.chdir('C:/minecraft')
|
||||||
|
messagebox.showinfo('minecraft.py closed and deleted!', 'Press OK for leave')
|
||||||
|
# third checkbox command
|
||||||
|
def ok():
|
||||||
|
window.destroy()
|
||||||
|
window.quit()
|
||||||
|
messagebox.showinfo('Window closed', 'Press OK for leave')
|
||||||
|
# ok button
|
||||||
|
def start():
|
||||||
|
os.chdir('C:/minecraft')
|
||||||
|
os.startfile('mine.bat', 'open')
|
||||||
|
os.startfile('server.properties', 'open')
|
||||||
|
messagebox.showinfo('Server started!!', 'Press OK for leave')
|
||||||
|
# start server button
|
||||||
|
# start code
|
||||||
|
def folder():
|
||||||
|
os.startfile('C:/minecraft')
|
||||||
|
# open folder
|
||||||
|
# take def for checkboxes
|
||||||
|
|
||||||
|
window = Tk()
|
||||||
|
window.title('Minecraft server')
|
||||||
|
window.geometry('250x250')
|
||||||
|
# creating window
|
||||||
|
create_server = BooleanVar()
|
||||||
|
create_server.set(True)
|
||||||
|
create_server=Checkbutton(window, text='1)Create server file amd folder', var=create_server, command=create_command)
|
||||||
|
create_server.grid(column=0, row=1)
|
||||||
|
# 4rd checkbox
|
||||||
|
start_server = BooleanVar()
|
||||||
|
start_server.set(True)
|
||||||
|
start_server = Checkbutton(window, text='2)Create .bat file and downloading core', var=start_server, command=starting_server_button)
|
||||||
|
start_server.grid(column=0, row=2)
|
||||||
|
# first checkbox
|
||||||
|
server_properties = BooleanVar()
|
||||||
|
server_properties.set(True)
|
||||||
|
server_properties = Checkbutton(window, text='3) Create server.properties', var=server_properties, command=server_properties_button)
|
||||||
|
server_properties.grid(column=0, row=3)
|
||||||
|
# second checkbox
|
||||||
|
close_command = BooleanVar()
|
||||||
|
close_command.set(True)
|
||||||
|
close_command = Checkbutton(window, text='4) Close minecraft.py file', var=close_command, command=close_command_button)
|
||||||
|
close_command.grid(column=0, row=4)
|
||||||
|
#
|
||||||
|
open_folder = BooleanVar()
|
||||||
|
open_folder.set(True)
|
||||||
|
open_folder = Checkbutton(window, text='Open minecraft server folder', var=close_command, command=folder)
|
||||||
|
open_folder.grid(column=0, row=5)
|
||||||
|
# third checkbox
|
||||||
|
button = Button(window, text='OK', command=ok)
|
||||||
|
button.grid(column=0, row=7)
|
||||||
|
starting_button = Button(window, text='Start server and open server.properties!', command=start)
|
||||||
|
starting_button.grid(column=0, row=6)
|
||||||
|
|
||||||
|
window.mainloop()
|
||||||
|
# create window and button for start server
|
||||||
|
|
||||||
os.startfile('mine.bat')
|
|
||||||
# start mine.bat and server
|
|
||||||
print('Server starting!')
|
|
||||||
# print for user
|
|
||||||
# Thanks for using!
|
|
||||||
|
|||||||
Reference in New Issue
Block a user