Python ile Minecraft sunucu başlatıcı GUI tasarlamak

berke1485

Decapat
Katılım
20 Nisan 2023
Mesajlar
78
Daha fazla  
Cinsiyet
Erkek
Arkadaşlar şöyle ufak çaplı bir çalışma yaptım kendimce, ilk denemelerimden.
Nasıl olduğuna dair değerlendirirseniz memnun olurum, iyi günler.


Python:
# 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()
 
Son düzenleme:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…