Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
- Arkadisimiz belki bilirsiniz single play modunu geliştirmişti şimdi de client tarafını arkadasimiz web tabanliolarak bastan yazmış, denedim 2014 files ile sorunsuz calisiyor
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
den kayit olup
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
den deneyebilirsiniz , ayrıca server files -
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
kendi yazisini okumak isterseniz ve kendi sunucusunu test etmek ;
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
_______________________________________
Kendi sunucumda npc ekledikten sonra hata almaya başladım , Source ya da redditeki baglantiyi kullanarak deniyebilriisniz!!
Son düzenleme:
Konu içeriğini doğru bölüme taşıdım.
Aynı zamanda içeriği anlamanız için bir rehber oluşturdum.
Proje:
Birbirinden doğmuş üç parçadan oluşuyor:
Bu bir hobi projesidir; küçük özel ve tek kişilik sunucular hedeflenmiştir. Neyin çalışmadığı konusunda dürüst olacak şekilde yazılmıştır.
Bu, anonim bir dosya paylaşımının normal hâlidir, geçici bir kaza değil — bir gün o link tamamen ölecek.
Desteklenen dosya paketi:
Önce Windows'ta deneyip oyunu ayakta görebilir, sonra gerçek sunucuya geçebilirsin. Hiçbir emek boşa gitmez.
PowerShell'i aç (Başlat →
Her şey
Sonradan arkadaşlarını almak istersen: ev modeminde port açma. Bu, ev adresini her oyuncuya teslim eder, upload hızın darboğaz olur ve bilgisayarın kapandığı an sunucu kaybolur. Onun yerine küçük bir Linux sunucu kirala.
Hetzner, Netcup veya Contabo'da aylık ~5 €. Herhangi bir sağlayıcı işini görür.
SSH ile sunucuna bağlan ve yapıştır:
Makineyi kontrol eder, Docker'ı kurar, sunucuyu birleştirir, derler, başlatır, güvenlik duvarını açar ve panel adresi ile üretilmiş şifreyi ekrana basar. İkinci kez çalıştırmak güvenlidir.
Bir alan adın varsa önce sunucunun IP'sine yönlendir, sonra:
Bu, ücretsiz bir Let's Encrypt sertifikası alır ve panelin düz HTTP yerine HTTPS üzerinden çalışır. Yapmaya değer: aksi hâlde panel şifren internette şifresiz dolaşır ve aradaki herkes okuyabilir.
Oyun için 11000 ve 13000–13002; alan adı verdiysen ayrıca 80/443. Script
Script üç şey yazdırır. Bir yere not al.
Panel varsayılan olarak:
Kendi şifreni de seçebilirsin: yönetim sayfasında girişin hemen altındaki Admin passphrase kartından. Güncellemeler bunu değiştirmez ve installer her çalıştığında güncel olanı yazdırır.
Yığın nerede duruyor?
Panel linkini aç, şifreyi gir, içeridesin.
Aynı sayfa ayrıca Teleport, Running speed ve Game master sunar. İlk ikisi oyuncunun o an oyunda olmasını gerektirir; değilse panel bunu söyler.
Neredeyse her düğme ve alanın üzerine fare geldiğinde açıklaması çıkar — İngilizce, Almanca ve Türkçe.
Installer'ı ikinci kez çalıştırmak güvenlidir. Verilerini, şifrelerini ve ayarlarını korur ve ne bulduğunu söyler.
Bunlar gömülmek yerine burada yazılıyor, çünkü projenin işine yarayıp yaramayacağını belirliyorlar.
Bunu yalnızca gerçekten her karakterin gitmesini istiyorsan atla.
Bu dosyayı sunucudan dışarı kopyala. Birazdan silinecek diskteki yedek, yedek değildir.
Bu listedeki her şey tekrar indirilebilir veya derlenebilir — veritabanı hariç. Hesaplar, karakterler, itemler, loncalar ve panelin kendi ayarları
Temel imajlar (
Tek komutlu installer yerine depodan elle kurmak istersen:
Not:
Aynı zamanda içeriği anlamanız için bir rehber oluşturdum.
Metin2 Sunucusu Kurulumu — Linux + Docker (Tek Komut)
Kendi Metin2 sunucunu kur: oyun çekirdeği, veritabanı, web yönetim paneli ve hazır client — hepsi tek komutla.Proje:
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
⚠ Önce Yasal Durum
Metin2, Ymir Interactive ve Webzen'e aittir. Bu proje oyunun sahibi değildir ve size oyunu kullanma izni veremez.
Depo yalnızca araç seti içerir (Linux portu, Docker paketlemesi, yönetim paneli) ve bu araçlar MIT lisanslıdır. İçinde hiçbir oyun dosyası veya oyun kaynak kodu yoktur.
Private server işletmek yaşadığınız yerde büyük ihtimalle telif ihlalidir. Küçük özel sunucular genelde takibe alınmaz; ancak bu sizin kabul ettiğiniz bir risktir, kimsenin verdiği bir izin değil. Erişim için para almayın ve kendinizi resmi gibi göstermeyin.
1. Bu Proje Nedir?
Birbirinden doğmuş üç parçadan oluşuyor:
- Oyun sunucusunun Linux portu. Orijinal r40250 binary'leri sadece FreeBSD'de çalışıyor; ucuz VPS sağlayıcılarının çoğu FreeBSD sunmuyor. Kaynak kod porta uğradı — kqueue → epoll geçişi, sinyal yönetimi, 32-bit derleme ve daha bir sürü ufak düzeltme — böylece sıradan bir Ubuntu/Debian makinesinde derlenip çalışıyor.
- Docker paketlemesi. Port bir compose yığınına sarılmış durumda: oyun çekirdekleri, MariaDB, panel ve client builder. Tek satırlık
docker compose up -d --build, ya da güvenlik duvarı dahil her şeyi yapan tek bir installer komutu. - Web yönetim paneli. Flask tabanlı; İngilizce, Almanca ve Türkçe. Item, yang ve seviye ver; EXP/drop/yang oranlarını ayarla; oyunu on beş dilden birine çevir; birini GM yap; şifre sıfırlama linki üret. Oyuncular da aynı siteden kayıt olur ve sunucuna zaten ayarlı bir client indirir.
Bu bir hobi projesidir; küçük özel ve tek kişilik sunucular hedeflenmiştir. Neyin çalışmadığı konusunda dürüst olacak şekilde yazılmıştır.
2. Gereksinimler
| Konu | Gereken |
|---|---|
| İşletim sistemi | Ubuntu 22.04 / 24.04 veya Debian 12 / 13 (root erişimi). Sadece kendi bilgisayarında oynayacaksan Docker Desktop'lı Windows 10/11 de olur. |
| Mimari | x86 (Intel/AMD) zorunlu. Oyun sunucusu 2014'ten kalma 32-bit x86 kodudur, ARM'de çalışmaz. |
| Donanım | 4 GB RAM, 40 GB disk (ilk derleme sırasında 8 GB RAM rahatlatır) |
| Adres | IPv4 adresi şart — Metin2 2004 yapımıdır, tek başına IPv6 ile çalışamaz. |
| Süre | İlk derleme 10–25 dakika, sonrası saniyeler |
| Ön bilgi | Yok. Linux, Docker veya MySQL bilmene gerek yok. |
| Oynamak için | Bir Windows bilgisayar. Oyun client'ı sadece Windows'tur. |
3. Başlamadan Önce: Kritik Uyarı
Sunucu dosyaları bu depoda değil. Yaklaşık 2 GB'lık paket (oyun sunucu kaynağı + Windows client) kurulum sırasında dışarıdan indiriliyor.
Şu an bu indirme çalışmıyor. Paket bir MEGA paylaşımında yayınlanıyor ve o paylaşım bant genişliği kotasını aşmış durumda. MEGA509 (over quota)döndürüyor ve indirme tamamlanmıyor. Script bunu tanıyor ve sonsuza kadar denemek yerine açıkça söylüyor — ama etrafından dolaşamıyor.
Çözüm: Arşiv sende zaten varsa kurulum onu kullanır ve hiçbir şey indirmez:
Bash:
M2_SRC_ARCHIVE=/yol/serverfiles.zip ./linux-port/fetch-sources.sh
Bu, anonim bir dosya paylaşımının normal hâlidir, geçici bir kaza değil — bir gün o link tamamen ölecek.
Desteklenen dosya paketi:
packs/tmp4-r40250.pack → [40250] Reference Serverfile (TMP4). Port tam olarak bu kaynak ağacına karşı yazılmış bir yamadır ve uygulanmadan önce kaydedilmiş hash ile doğrulanır. Farklı bir paket, kendi portunu gerektirir.4. Hangi Yolu Seçmelisin?
- "Sadece kendi bilgisayarımda oynamak istiyorum." → Windows kurulumu. İnternete hiçbir şey açılmaz, kimse bağlanamaz.
- "Arkadaşlarımın da girebileceği bir sunucu istiyorum." → Linux VPS kurulumu. Aylık ~5 € civarı küçük bir sanal sunucu kiralaman gerekir.
Önce Windows'ta deneyip oyunu ayakta görebilir, sonra gerçek sunucuya geçebilirsin. Hiçbir emek boşa gitmez.
5. Kurulum A — Windows (Tek Kişilik)
Gerekenler
- Windows 10 veya 11, 64-bit, Intel/AMD işlemci (ARM değil)
- Sistem diskinde en az 15 GB boş alan — script bunun altında durur, 25 GB rahat eder. Docker imajlarını hangi klasöre kurarsan kur sistem diskindeki sanal diskte tutar.
- 8 GB RAM rahat; 4 GB çalışır ama derleme yavaş olur
- Docker Desktop — yoksa script kurar. Ancak Docker Desktop ilk kurulumdan sonra yeniden başlatma ister, bu yüzden komutu iki kez çalıştırman gerekebilir. Bu normaldir.
Komut
PowerShell'i aç (Başlat →
powershell yaz → Enter) ve yapıştır:
Kod:
irm https://raw.githubusercontent.com/AzzlackSyndicate/metin2-singleplayer-serverfiles-linux/main/installer/install.ps1 | iex
Script arka planda ne yapıyor?
- Bilgisayarında yeterli RAM ve disk var mı kontrol eder; yoksa net bir açıklamayla erken durur.
- Docker Desktop yoksa kurar.
- Sunucuyu indirir, derler ve başlatır.
- Oyun client'ını arka planda indirmeye başlar — 1 GB'ın üzerinde olduğu için script bittikten sonra da devam eder.
Dikkat: Bu sunucu sadece sana ait
Her şey
127.0.0.1 üzerinde dinler; yani sadece bu bilgisayar.- Kimse bağlanamaz. Ne internetteki arkadaşların, ne aynı Wi-Fi'daki biri.
- Hiçbir port açılmadı. Hiçbir güvenlik duvarı kuralı oluşturulmadı.
- Ev IP adresin kimseye verilmedi.
Sonradan arkadaşlarını almak istersen: ev modeminde port açma. Bu, ev adresini her oyuncuya teslim eder, upload hızın darboğaz olur ve bilgisayarın kapandığı an sunucu kaybolur. Onun yerine küçük bir Linux sunucu kirala.
6. Kurulum B — Linux VPS (Herkese Açık)
Gerekenler
- Debian 12/13 veya Ubuntu 22.04/24.04 kurulu bir VPS
- 4 GB RAM ve yaklaşık 40 GB disk. 15 GB'dan az boş alan varsa script durur: 8 GB sunucuyu derlemeye, 7 GB client'ı hazırlamaya gider.
- x86 (Intel/AMD) makine — ARM değil. Script bunu kontrol eder ve yarı yolda kafa karıştırıcı bir hata vermek yerine açıklamayla durur.
- Root erişimi (temiz bir VPS'te varsayılan olarak gelir)
Hetzner, Netcup veya Contabo'da aylık ~5 €. Herhangi bir sağlayıcı işini görür.
Komut
SSH ile sunucuna bağlan ve yapıştır:
Bash:
curl -fsSL https://raw.githubusercontent.com/AzzlackSyndicate/metin2-singleplayer-serverfiles-linux/main/installer/install.sh | sudo sh
Makineyi kontrol eder, Docker'ı kurar, sunucuyu birleştirir, derler, başlatır, güvenlik duvarını açar ve panel adresi ile üretilmiş şifreyi ekrana basar. İkinci kez çalıştırmak güvenlidir.
Kendi alan adınla (tavsiye edilir)
Bir alan adın varsa önce sunucunun IP'sine yönlendir, sonra:
Bash:
curl -fsSL https://raw.githubusercontent.com/AzzlackSyndicate/metin2-singleplayer-serverfiles-linux/main/installer/install.sh | sudo sh -s -- \
--domain panel.alanadin.com --email sen@ornek.com
Bu, ücretsiz bir Let's Encrypt sertifikası alır ve panelin düz HTTP yerine HTTPS üzerinden çalışır. Yapmaya değer: aksi hâlde panel şifren internette şifresiz dolaşır ve aradaki herkes okuyabilir.
Cloudflare kullanıyorsan bir not. Turuncu bulut açıkken panel çalışır ama oyunun kendisi çalışmaz — Cloudflare proxy'si yalnızca web trafiği taşır, Metin2 ise web trafiği değildir. Oyuncuların sunucunun düz IP adresine bağlanır; script bu IP'yi client'ın içine zaten gömer. Client'ta hostname de istiyorsan gri bulutlu (DNS only) ikinci bir DNS kaydı ekle.
Hangi portlar açılıyor?
Oyun için 11000 ve 13000–13002; alan adı verdiysen ayrıca 80/443. Script
ufw, firewalld ve düz iptables ile başa çıkar. Hiç güvenlik duvarı bulamazsa, portların sağlayıcının kontrol panelinden açılması gerekebileceğini söyler.7. Kurulum Bitti — Elinde Ne Var?
Script üç şey yazdırır. Bir yere not al.
- Oyun client indirme linki — bunu oyuncularına ver. İndirirler, istedikleri yere açarlar ve
Metin2Distribute.exeçalıştırırlar. Kurulum yok, ayar yok; sunucu adresi zaten içinde. USB bellekten bile çalışır. - Yönetim paneli linki — sunucuyu buradan yönetirsin.
- Panel şifresi — sunucun için taze üretilir, her seferinde farklıdır. Yığının
.envdosyasında da saklanır, sonradan bakabilirsin.
Panel varsayılan olarak:
http://SUNUCU-IP:7788Client linki hemen çalışmaz. Client 1 GB'ın üzerinde ve indirilip yeniden paketlenmesi gerekiyor; sunucuna göre 20–60 dakika sürer. O zamana kadar sayfa kibarca "indirme hazır değil" der. Bozuk bir şey yok.
Kendi şifreni de seçebilirsin: yönetim sayfasında girişin hemen altındaki Admin passphrase kartından. Güncellemeler bunu değiştirmez ve installer her çalıştığında güncel olanı yazdırır.
Yığın nerede duruyor?
- Linux:
/opt/metin2/stack(sadece root okuyabilir) - Windows: kullanıcı klasörünün içinde
Metin2Server
8. Panelde İlk Beş Dakikan
Panel linkini aç, şifreyi gir, içeridesin.
- Server rates — tüm sunucunun verdiği tecrübe, item drop ve yang miktarı.
%100oyunun orijinal hâlidir. Üç adet tek tıkla ayar var, ya da istediğin sayıyı yazarsın. Kaydetmek oyunu bir dakikadan kısa süreyle yeniden başlatır. - Players — her karakter; seviyesi, yangı ve hangi hesaba ait olduğu. Birine tıklayıp item/yang verebilir, seviyesini ayarlayabilir veya GM yapabilirsin.
- Game language — sunucunun konuştuğu dil: quest metinleri, sistem mesajları, item ve canavar isimleri. Sunucu dosyalarıyla birlikte on beş dil geliyor. Değiştirmek oyunu kısa süre yeniden başlatır. Client diğer yarısıdır: yeni indirmeler eşleşecek şekilde derlenir, oyunu zaten indirmiş olanlar tek bir dosyayı yeniden adlandırır — panel hangisi olduğunu gösterir.
- Password reset link — oyuncu şifresini unuttuğunda kullanıcı adını yazarsın ve ürettiği linki ona gönderirsin. Bir kez çalışır ve 24 saatte geçersiz olur.
Aynı sayfa ayrıca Teleport, Running speed ve Game master sunar. İlk ikisi oyuncunun o an oyunda olmasını gerektirir; değilse panel bunu söyler.
Neredeyse her düğme ve alanın üzerine fare geldiğinde açıklaması çıkar — İngilizce, Almanca ve Türkçe.
⚠ Hemen Yapılacak İş
Test için iki hesap zaten var:adminvetest, ikisinin de şifresi123456789.
Sunucuna başkası ulaşmadan önce bunları değiştir veya sil. Bu şifreler orijinal sunucu dosyalarında yayınlanmıştır, yani herkes biliyor, ve kurulum bunları senin yerine değiştirmez.
9. Günlük Komutlar
Bash:
cd /opt/metin2/stack
docker compose ps # ne çalışıyor
docker compose logs game --tail 50 # oyun sunucusu ne diyor
docker compose restart game # sadece oyunu yeniden başlat
docker compose down # her şeyi durdur (veriler korunur)
docker compose up -d # tekrar başlat
10. Sorun Giderme
Neredeyse her zaman sağlayıcının kendi güvenlik duvarıdır — sunucunun dışında oturur ve script ona ulaşamaz. Sağlayıcının kontrol panelinden 11000 ve 13000–13002 portlarını kontrol et.
İkinci en olası sebep: client yanlış adrese bakıyor. Aşağıdaki "Sunucuyu yeni adrese taşıdım" adımıyla yeniden derle.
İkinci en olası sebep: client yanlış adrese bakıyor. Aşağıdaki "Sunucuyu yeni adrese taşıdım" adımıyla yeniden derle.
Muhtemelen hâlâ derleniyor. Sunucuda:
Bash:
tail -f /opt/metin2/stack/client-build.log
Client'ı yeni adresle yeniden derle. Bu yaklaşık bir dakika sürer ve 1 GB'ı tekrar indirmez:
Bash:
cd /opt/metin2/stack
M2_CLIENT_ADDRESS=<yeni-adres> docker compose run --rm client-builder
Dikkat — bu tüm karakterleri ve hesapları siler:
Bash:
cd /opt/metin2/stack && docker compose down -v
-v olmadan yalnızca sunucuyu durdurur ve her şeyi korur.Installer'ı ikinci kez çalıştırmak güvenlidir. Verilerini, şifrelerini ve ayarlarını korur ve ne bulduğunu söyler.
11. Dürüst Sınırlar
Bunlar gömülmek yerine burada yazılıyor, çünkü projenin işine yarayıp yaramayacağını belirliyorlar.
- İndirme şu anda çalışmıyor. Oyun dosyaları burada barındırılmıyor; installer bunları üçüncü taraf bir MEGA paylaşımından çekiyor ve o paylaşım kotasını aşmış durumda.
509 (over quota)döndürür ve kurulum açıklamayla orada durur. Arşiv sende varsa installer onu kullanır. - Oyun sunucusu 2014 kodudur. Çalışıyor ve Linux'a gerçek testlerle dikkatlice port edildi, ama eski varsayımları olan eski bir yazılım. 32-bit ve ARM'de çalışmaz.
- Teleport ve koşma hızı, oyuncunun oyunda olmasını gerektirir. Panelde ikisinin de düğmesi var. Veritabanına bir istek bırakarak çalışırlar; oyunun içinde çalışan küçük bir script bunu alır. Ama çıkış yapmış birine uygulanamaz: "artık şurada duruyor" bilgisini oyunun inanacağı bir yere yazmak mümkün değil ve hız buffı ancak karakter varken var olur. Oyuncu çevrimdışıysa panel numara yapmak yerine bunu söyler.
- Teleport, hiç kimsenin oyun client'ından doğrulamadığı tek işlem. Item, yang, seviye ve koşma hızı canlı sunucuda denendi ve dedikleri şeyi yapıyor. Teleport aynı yolu izliyor ve çekirdekler çalıştığını gösteriyor — ama "karakter gerçekten oraya gitti" akıl yürütmeyle biliniyor, gözle görülerek değil.
- GM rütbesi vermek anında, almak değil. Rütbe
common.gmlisttablosundaki bir satırdır ve oyun bunu açılışta okur. Panel satırı yazar ve oyuna tabloyu yeniden okumasını söyler; bu yüzden verme işlemi zaten giriş yapmış karaktere ulaşır. Alma işlemi ulaşmaz: sunucu rütbeleri yalnızca listede kalan karakterlere yeniden uygular, listeden yeni çıkarılan kişi bir sonraki girişine kadar komutları kullanmaya devam eder. - Item, yang ve seviye biraz zaman alır. Bunlar doğrudan veritabanına gider; oyun ise veritabanını yalnızca karakter yüklenirken okur. Oyuncunun çıkıp tekrar girmesi gerekir. Panel bunu anında olmuş gibi göstermek yerine söyler.
- Panel, Flask'ın geliştirme sunucusunda çalışır. Özel bir sunucuyu yöneten birkaç kişi için sorun değil; halka açık bir web sunucusu değil. Alan adı verdiğinde Linux installer'ı önüne nginx koyar, bu en kötü kenarları törpüler.
- Oranları değiştirmek oyunu yeniden başlatır. Oyun bunları açılışta bir kez okur. O sırada oynayanlar bir dakikadan kısa süreliğine düşer.
- Port 32-bittir. Sunucu, orijinalinde olduğu gibi
-m32ile derlenir. 64-bit'e taşımak cazip ama 2014 kodu için riskli. - Sadece x86. ARM yok, aynı sebeple.
- Yalnızca IPv6 olan sunucular çalışmaz. Oyun protokolü IPv6 desteğinden eski.
- Bunu senin için sürdüren kimse yok. İnsanların güvendiği bir sunucu işletiyorsan, ona bakacak kişi sensin.
12. Kaldırma ve Temiz Kurulum
Önce: Veritabanını Yedekle
Bunu yalnızca gerçekten her karakterin gitmesini istiyorsan atla.
Bash:
cd /opt/metin2/stack
docker compose exec -T mariadb \
mariadb-dump -uroot -p"$(grep M2_DB_ROOT_PASSWORD .env | cut -d= -f2)" \
--databases account player common log hotbackup \
| gzip > ~/metin2-backup-$(date +%F).sql.gz
ls -lh ~/metin2-backup-*.sql.gz
Bu dosyayı sunucudan dışarı kopyala. Birazdan silinecek diskteki yedek, yedek değildir.
Bir kurulum nelerden oluşur?
| Yer | İçinde ne var | Yaklaşık |
|---|---|---|
/opt/metin2/stack | docker-compose.yml, .env ve imajların derlendiği sunucu ağacı | 2 GB |
metin2_* Docker volume'leri | veritabanı, panel ayarları, tarayıcı client'ı, derlenmiş masaüstü client'ı | 1–5 GB |
metin2/* Docker imajları | oyun, panel, bridge ve iki builder | 1 GB |
/var/cache/m2src | indirilen sunucu dosyası arşivi ve proje checkout'u | 3.5 GB |
/etc/nginx/conf.d/metin2*.conf | panelin önündeki web sitesi | çok küçük |
/etc/nginx/ssl/<alan-adın> | sertifikan | çok küçük |
Bu listedeki her şey tekrar indirilebilir veya derlenebilir — veritabanı hariç. Hesaplar, karakterler, itemler, loncalar ve panelin kendi ayarları
metin2_db-data volume'ünde yaşar ve başka hiçbir yerde bulunmaz.Adım adım silme
Bash:
cd /opt/metin2/stack
docker compose down -v --remove-orphans
docker volume ls | grep metin2 || echo "volume kalmadi"
-v önemli kısım: onsuz container'lar gider, veritabanı kalır ve bir sonraki kurulum eskisini kaldığı yerden devam ettirir. Karakterleri korumak istiyorsan bu iyi bir yöntem; temiz sayfa istiyorsan kafa karıştırıcı bir yöntemdir.
Bash:
docker rmi $(docker images 'metin2/*' -q) 2>/dev/null
docker image prune -f
Temel imajlar (
mariadb, ubuntu, alpine) rahat bırakılır. Birkaç yüz MB yer kaplarlar ama bir sonraki kurulumu tekrar indirmekten kurtarırlar.Önce dizinden çık. Yedek adımından beri
Bu, bir ağ arızası değil; artık yolu olmayan bir dizinde duran bir kabuktur.
Hemen yeniden kuracaksan ve bağlantın yavaşsa
/opt/metin2/stack içinde duruyorsun ve tam da onu silmek üzeresin.
Bash:
cd /
rm -rf /opt/metin2
rm -rf /var/cache/m2src /var/cache/m2webclient
cd / adımını atlarsan hiçbir şey ters gitmiş gibi görünmez — Linux, bir süreç içinde durduğu sürece dizini canlı tuttuğu için kabuk eski dizin adını yazmaya devam eder. Asıl sonraki komut patlar ve sebebe hiç benzemeyen bir hata verir:
Kod:
fatal: Unable to read current working directory: No such file or directory
fatal: remote helper 'https' aborted session
Bu, bir ağ arızası değil; artık yolu olmayan bir dizinde duran bir kabuktur.
cd / yapıp komutu tekrar çalıştır. 1.12.2 ve sonrası installer'lar bunu kendileri fark edip devam eder.Hemen yeniden kuracaksan ve bağlantın yavaşsa
/var/cache/m2src dizinini sakla — bir sonraki kurulum içindeki arşivi tekrar indirmek yerine yeniden kullanır ve güvenmeden önce checksum ile doğrular.example.com yerine kurulumda kullandığın alan adını yaz.
Bash:
rm -f /etc/nginx/conf.d/metin2.conf /etc/nginx/conf.d/metin2-cloudflare.conf
rm -rf /etc/nginx/ssl/example.com
nginx -t && systemctl reload nginx
13. Elle Kurulum (İleri Seviye)
Tek komutlu installer yerine depodan elle kurmak istersen:
Bash:
curl -fsSL https://get.docker.com | sh # Docker'in resmi installer'i
./linux-port/fetch-sources.sh # upstream'i cek, portu uygula, context'i hazirla
cd linux-port/docker
cp .env.example .env && nano .env # public IP + iki sifre
docker compose up -d --build
14. Depo Yapısı
Kod:
files/ PAYLASILAN MATERYAL — panel, item index, serverfile profili
admin_panel.py web yonetim paneli, tek Flask dosyasi
items.json favicon.png panel varliklari
packs/tmp4-r40250.pack serverfile profili: oran matematigi ve client hazirligi
web_admin_schema.sql panelin ekledigi iki veritabani tablosu
web_admin.quest panelin oyun ici tarafi — oyun imajina derlenir
speed_boost.quest bagimsiz sunucu geneli hiz buffi — buradaki hicbir sey kurmaz
README.md icerik ve panel yapilandirmasi
PACKS.md pack profil formati
ADD_SQL_BINDING.md mysql_direct_query: port yamasindaki tek ozellik
ADDING_SHOP_ITEMS.md NPC dukkan fiyatlari gercekte nasil calisir
installer/ TEK KOMUTLUK KURULUMLAR
install.sh Linux. Oyun portlarini yayinlar ve guvenlik duvarini acar.
install.ps1 Windows. Sadece 127.0.0.1'e baglanir; guvenlik duvari kurali olusturmaz.
linux-port/ PORT — yazilar, yama, sonra paketleme
patches/0001-r40250-linux-port.patch port + bir etiketli ozellik: 119 KB, 30 dosya
fetch-sources.sh upstream paketi cek, yamayi uygula, context'i hazirla
README.md neden, nasil ve ne kadar ilerledi
PORT40250.md portun kaynakta ne degistirdigi ve nedeni
RUNTIME.md runtime agacini ve veritabanini elle hazirlama
FDWATCH-BUG.md kqueue-epoll calismasi, ayrintili
PLAYTEST.md ilk gercek client girisi
VPS-DEPLOYMENT.md gercek bir kurulumun sansurlenmis ornegi
client/serverinfo.py client tarafi yapilandirma sablonu
docker/ compose yigini (kendi README'si, kendi .env.example'i)
LICENSE NOTICE.md CONTRIBUTING.md TUTORIAL.md
UPDATING.md yeni surume gecme
UNINSTALL.md tamamen kaldirma ve sifirdan baslama
Not:
files/ artık kalıntı değildir. Docker derlemesi doğrudan oradan kopyalar (prepare-context.sh okur) ve admin_panel.py eksikse başarısız olur. Klasör adı tarihsel ve biraz yanıltıcıdır, ama aynı commit'te prepare-context.sh değiştirilmeden içindeki hiçbir şey yeniden adlandırılamaz veya taşınamaz.15. Kaynaklar
-
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
-
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.— hiç yapmamış biri için adım adım
-
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.— tamamen kaldırma
-
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.— yeni sürüme geçme
-
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.— lisansın neyi kapsadığı (fork'lamadan önce oku)
-
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.— güvenli değişiklik ve test
Rehber, projenin kendi belgelerinden (README.md, TUTORIAL.md, UNINSTALL.md) Türkçeye uyarlanmıştır. Proje MIT lisanslıdır; oyun dosyaları lisansa dahil değildir ve Webzen / Ymir Interactive'e aittir.
Rehber işine yaradıysa konuya bir
bırakmayı unutma.
Rehber işine yaradıysa konuya bir
bırakmayı unutma.Client source yok, eksik dolu proje şuanki haliyle sıfır düzenleme yaparak açabilirsiniz ama ne web packı editleyebilir ne sistem ekleyebilirsiniz ne fix atabilirsiniz bilginiz olsun.
Client source yok, eksik dolu proje şuanki haliyle sıfır düzenleme yaparak açabilirsiniz ama ne web packı editleyebilir ne sistem ekleyebilirsiniz ne fix atabilirsiniz bilginiz olsun.
Okuyarak ilerlerseniz eğer.
Anlayamadım ? neyi okumam gerek veya neyi okumadım kaçırdımOkuyarak ilerlerseniz eğer.
Dosyaları inceledim ve fikrimi beyan ettim, bu haliyle kullanmak akıl işi değil paylaşım sahibi bir killswitch açık bıraktıysa kullanacakların vay haline ne .bin webpackın unpackı var ne client source var ne webport source bu 3 aşamada bir yerde bir mekanizma varsa tehlike yaşatır
