Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Cancan.1234 1
Cancan.1234
Hikaye Ekle

Cevaplanmadı Oyun sunucusu Containerization Hk

  • Konuyu başlatan Konuyu başlatan Agora Metin2
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 2
  • Görüntüleme Görüntüleme 411
Selamlar,

Başlıktakini daha önce deneyen oldu mu? Oyun sunucusunu docker image haline getirip container halinde run etme deneyen/deneyimi olan birileri bilgi verebilirse sevinirim.

Aşağıdaki örneği buldum şimdiye kadar:
https://git.old-metin2.com/metin2/server
Teşekkürler,

✅ Metin2 İçin Docker Container Yapmak – Temel Adımlar:​


1. Dockerfile (örnek)​


Dockerfile
KopyalaDüzenle
FROM ubuntu:20.04

# Gerekli paketleri yükle
RUN apt update && apt install -y \
build-essential \
libstdc++6 \
libmysqlclient-dev \
libboost-system-dev \
libboost-thread-dev \
mysql-server \
screen \
libssl-dev \
liblua5.1-0 \
locales \
&& apt clean

# Dil ayarları
ENV LANG=tr_TR.UTF-8
RUN locale-gen tr_TR.UTF-8

# Oyun dosyalarını kopyala
COPY ./server /home/mt2server/
WORKDIR /home/mt2server/

# Port aç
EXPOSE 13000 13001 13002 13003 11002 11003

# Start script'i çağır
CMD ["bash", "./start.sh"]


2. docker-compose.yml (örnek)​


yaml
KopyalaDüzenle
version: "3.8"

services:
metin2:
build: .
container_name: mt2_server
ports:
- "13000:13000"
- "13001:13001"
- "13002:13002"
- "13003:13003"
- "11002:11002"
- "11003:11003"
volumes:
- ./server:/home/mt2server
stdin_open: true
tty: true
restart: always


3. start.sh örneği:​


bash
KopyalaDüzenle
#!/bin/bash
cd game
./#!/binl1 & ./auth & ./db
tail -f /dev/null # Container açık kalsın


NOT: ./game ve ./auth, chmod +x ile çalıştırılabilir olmalı.



🧠 Dikkat Edilmesi Gerekenler:​


  • Eğer server dosyaların 32-bit ise: Docker container’a lib32 paketlerini kurman gerekebilir.
  • Performans sorunları için: CPU core sabitleme (taskset) veya I/O tuning önerilir.
  • Bazı sistem çağrıları için --cap-add=SYS_ADMIN gibi parametreler eklenebilir.
  • Volume ayarlarını doğru yaparsan log ve veri kaybı yaşamazsın.
 

✅ Metin2 İçin Docker Container Yapmak – Temel Adımlar:​


1. Dockerfile (örnek)​


Dockerfile
KopyalaDüzenle
FROM ubuntu:20.04

# Gerekli paketleri yükle
RUN apt update && apt install -y \
build-essential \
libstdc++6 \
libmysqlclient-dev \
libboost-system-dev \
libboost-thread-dev \
mysql-server \
screen \
libssl-dev \
liblua5.1-0 \
locales \
&& apt clean

# Dil ayarları
ENV LANG=tr_TR.UTF-8
RUN locale-gen tr_TR.UTF-8

# Oyun dosyalarını kopyala
COPY ./server /home/mt2server/
WORKDIR /home/mt2server/

# Port aç
EXPOSE 13000 13001 13002 13003 11002 11003

# Start script'i çağır
CMD ["bash", "./start.sh"]


2. docker-compose.yml (örnek)​


yaml
KopyalaDüzenle
version: "3.8"

services:
metin2:
build: .
container_name: mt2_server
ports:
- "13000:13000"
- "13001:13001"
- "13002:13002"
- "13003:13003"
- "11002:11002"
- "11003:11003"
volumes:
- ./server:/home/mt2server
stdin_open: true
tty: true
restart: always


3. start.sh örneği:​


bash
KopyalaDüzenle
#!/bin/bash
cd game
./#!/binl1 & ./auth & ./db
tail -f /dev/null # Container açık kalsın






🧠 Dikkat Edilmesi Gerekenler:​


  • Eğer server dosyaların 32-bit ise: Docker container’a lib32 paketlerini kurman gerekebilir.
  • Performans sorunları için: CPU core sabitleme (taskset) veya I/O tuning önerilir.
  • Bazı sistem çağrıları için --cap-add=SYS_ADMIN gibi parametreler eklenebilir.
  • Volume ayarlarını doğru yaparsan log ve veri kaybı yaşamazsın.
Teşekkürler ama gen ai toolarına sordum zaten bu cevapları arasaydım tekrar onlara sorardım :D, pratik tecrübe olarak sormuştum
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst