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

berke1485

Centipat
Katılım
20 Nisan 2023
Mesajlar
74
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.

Bu kod ile yerel ağınıza ait Minecraft sunucusunu başlatabiliyorsunuz.
Port kısmını tamamen siz belirliyorsunuz, eğer boş bırakırsanız 25565 (varsayılan port) üzerinden sunucu başlatılıyor.
Tüm sürümler için çalıştırmanız mümkün, aynı zamanda craftbukkit / Spigot / vanilla fark etmiyor.
Aynı internete bağlı olduğunuz herkes sunucuya IPv4 adresinizden katılabilir.
Kod dosyası ile sunucu jar dosyası aynı klasörde olmak zorunda değil, zaten dosya yolu belirttiğimiz için ayrı konumlarda olsalar bile sorunsuz çalışacaktır.

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:

Yeni konular

Geri
Yukarı