# Bu kod Berke1485 tarafından hazırlanmıştır.
# Minecraft'ta Yerel Ağ Sunucusu başlatmayı sağlar.
# Technopat Ailesine sevgiler!
import tkinter as tk
from tkinter import messagebox
import subprocess
import os
import time
# İKON YOLU.
ikon = "C:/Users/berke/OneDrive/Masaüstü/Sunucu/ikon/282774.ico" # GUI ikonu olarak .ico uzantılı bir dosyayı yol olarak yazın.
# sunucu.jar YOLU.
sunucu_dosya = "C:/Users/berke/OneDrive/Masaüstü/Sunucu" # Sunucu klasöründeki jar dosyasını yol olarak yazın.
# SUNUCUYU BAŞLATMA.
def baslat():
port = port_giris.get()
if not port:
messagebox.showinfo("Başarılı!", "Sunucu başlatılıyor, bekleyiniz.")
menu.destroy()
time.sleep(2)
baslat_komut = f"java -Xmx1024M -Xms1024M -jar {os.path.join(sunucu_dosya, 'sunucu.jar')} nogui --port 25565" # sunucu.jar kısmını kendi sunucu klasöründeki jar dosyasının adına göre düzenleyin.
subprocess.Popen(baslat_komut, shell=True, cwd=sunucu_dosya).wait()
else:
messagebox.showinfo("Başarılı!", "Sunucu başlatılıyor, bekleyiniz.")
menu.destroy()
time.sleep(2)
baslat_komut = f"java -Xmx1024M -Xms1024M -jar {os.path.join(sunucu_dosya, 'sunucu.jar')} nogui --port {port}" # sunucu.jar kısmını kendi sunucu klasöründeki jar dosyasının adına göre düzenleyin.
subprocess.Popen(baslat_komut, shell=True, cwd=sunucu_dosya).wait()
# SİSTEMİ KAPATMA.
def kapat():
messagebox.showinfo("Başarılı!", "Sistemden çıkış yapılıyor, bekleyiniz.")
time.sleep(2)
menu.destroy()
# UYGULAMA MENÜSÜ.
menu = tk.Tk()
menu.title("Minecraft Sunucu Yöneticisi")
menu.geometry("650x600")
menu.configure(bg="#008000")
menu.iconbitmap(ikon)
# METİNLER, BOŞLUKLAR VE BUTONLAR.
girismetin = tk.Label(text="Yerel ağınıza bağlı sunucu yöneticisine hoş geldiniz.", font="Calibri, 12", bg="#008000", fg="white")
girismetin.pack(pady=10)
port = tk.Label(text="Port (Varsayılan için boş bırakın):", font="Calibri, 12", bg="#008000", fg="white")
port.pack(pady=10)
port_giris = tk.Entry(menu, bg="white")
port_giris.pack(pady=10)
baslat_butonu = tk.Button(text="Sunucuyu Başlat", font="Calibri, 14", bg="white", command=baslat)
baslat_butonu.pack(pady=10)
kapat_butonu = tk.Button(text="Programı Kapat", font="Calibri, 14", bg="white", command=kapat)
kapat_butonu.pack(pady=10)
bilgi_not = tk.Label(text="Bu program yalnızca yerel ağ sunucusunu başlatmayı sağlar.", font="Calibri, 12", bg="#008000", fg="white")
bilgi_not.pack(pady=10)
diger_not = tk.Label(text="Çapraz platform desteği sunmaz, yalnızca aynı ağ bağlantısına sahip cihazlar için geçerlidir.", font="Calibri, 12", bg="#008000", fg="white")
diger_not.pack(pady=10)
# MENÜYÜ DÖNGÜYE SOKMA.
menu.mainloop()