Merhaba Habr! Daha doğrusu arkadaşlarıyla oynamak için minecraft sunucusu nasıl kurulur diye araştıran dolandırıcılar.
Makale, genel olarak programcı olmayanlar ve sistem yöneticileri olmayanlar için tasarlanmıştır, Habr'ın ana hedef kitlesine yönelik değildir. Makale, BT'den uzak kişiler için uyarlanmış, özel bir IP'ye sahip bir minecraft sunucusu oluşturmak için adım adım talimatlar içerir. Bu sizinle ilgili değilse, makaleyi atlamak daha iyidir.
Sunucu nedir?
Peki sunucu nedir? Yazılım bileşeni olarak “sunucu” kavramına güvenecek olursak, sunucu, bu sunucuya bağlı olan kullanıcılardan (istemcilerden) alınan verileri alabilen, işleyebilen ve iletebilen bir programdır. Örnek olarak siteyi kullanırsak, site, bir tarayıcı aracılığıyla eriştiğiniz bir web sunucusunda yer almaktadır. Bizim durumumuzda minecraft sunucusu, oyuncuların (istemcilerin) bağlandığı, yürüyebilen, blokları kırabilen vb. bir dünya oluşturur. Minecraft sunucusu, oyuncuları ve onların eylemlerini birbirine bağlamaktan sorumludur.
Açıkçası, sunucunun bilgisayarda (makinede) çalışıyor olması gerekir. Ev bilgisayarınıza bir sunucu kurabilirsiniz ancak bu durumda:
- Kendi bilgisayarınızın portlarını açarak güvenliğini tehlikeye atıyorsunuz
- Sunucu bilgisayarınıza, onunla çalışmanızı etkileyebilecek bir yük koyacaktır.
- Ev bilgisayarınızı 24/7 çalışır durumda tutamazsınız: bazen kapatırsınız, bazen bilgisayarınızın internet bağlantısı kesilir vb.
- Sunucunuza dış dünyadan erişmek için bilgisayarınıza şu adresten erişmeniz gerekir: IP adresi, "ev" İnternet sağlayıcıları için dinamikyani kontrolünüz dışındaki nedenlerden dolayı 2-3 günde bir değişebilir.
Peki bu sorunları nasıl çözeriz?
Tüm bu sorunların çözümü kullanmaktır. sanal makine ile statikyani değiştirilemez bir IP adresi.
Karmaşık terminoloji? Hadi çözelim.
Wikipedia'ya dönelim.
Виртуальная машина (VM, от англ. virtual machine) — программная и/или аппаратная система, эмулирующая аппаратное обеспечение некоторой платформы...
Çok kaba bir ifadeyle ifade etmek gerekirse, bilgisayar içinde bilgisayardır. Ayrıca üzerine bir işletim sistemi yükleyebilir ve normal bir bilgisayarda olduğu gibi onunla çalışabilirsiniz.
Nereden alabiliriz?
Cevap basit - . Bu, yalnızca web ile çalışan herkes için yararlı olan birçok farklı bulut hizmeti sağlayan bir platformdur. Bir minecraft sunucusu oluşturmak için AWS ürünlerinden biri mükemmeldir - Amazon EC2 — 24/7 kullanılabilen bir bulut sanal makinesi. AWS minimum sanal makine sunar (10 GB SSD, 1 GB RAM) bir yıl boyunca ücretsizAyrıca, VM'nize (sanal makine) aynı adreste kalıcı erişim için ücretsiz, özel (statik) bir IP adresinin bağlanmasını mümkün kılar.
Bir VM oluşturup yapılandırıyoruz
Web sitesine git ve kayıt olun. Daha sonra yönetim konsoluna gidin.

Konsolda hizmetler arasında şunu bulun: EC2 ve ona git.
Bir veri merkezi seçmek önemlidirBasitçe söylemek gerekirse, Amazon sunucularının bulunduğu yer. İnternetteki iletişim hızı farklılık gösterdiği için bulunduğunuz konuma göre seçim yapmalısınız ve bulunduğunuz şehirden iletişimin mümkün olduğu kadar hızlı olacağı bir veri merkezi seçmelisiniz.

Bir veri merkezi seçmek için hizmeti kullanmanızı öneririm Paketlerin diğer şehirlerle iletim hızını ölçen.
Benim durumumda (Moskova), İrlanda veri merkezi bana uygundu.
Sanal bir makine oluşturmanın zamanı geldi. Bunu yapmak için sekmeye gidin Başlatma örneği

VM'yi yapılandırmaya başlayalım.
1) İşletim sistemi görüntüsünü seçin. Linux, sunucuları yükseltmek için çok uygundur; dağıtım kitini kullanacağız; CentOS7
Unutulmamalıdır ki sanal makinenizde grafiksel bir ortam bulunmayacaktır; makineye erişim konsol üzerinden olacaktır. VM'nin bilgisayar faresi yerine komutlar kullanılarak kontrol edilmesini içerir. Bundan korkmayın: Bu sizi artık durdurmamalı veya "çok zor" olduğu için kendi minecraft sunucunuzu yükseltme fikrinden vazgeçmemelidir. Makineyle konsol aracılığıyla çalışmak zor değil - yakında kendiniz göreceksiniz.

2) Şimdi VM’nin teknik konfigürasyonunu tanımlayalım. Ücretsiz kullanım için Amazon yapılandırmayı sunar t2.mikro, tam teşekküllü büyük bir minecraft sunucusu için yeterli değil, ancak arkadaşlarla oynamak için yeterli.

3) Ayarların geri kalanını varsayılan olarak bırakın ancak sekmede durun Güvenlik gruplarını yapılandırma.

Burada minecraft sunucusu için bağlantı noktalarına erişimi yapılandırmamız gerekiyor.
Basit bir ifadeyle port, dış dünyadan gelen verilerin kime yönlendirildiğini gösteren negatif olmayan bir sayıdır. Bir VM birçok farklı hizmeti ve sunucuyu barındırabilir, bu nedenle gelen tüm veri paketleri, hedefin (hizmet, sunucu) bağlantı noktasını (numarasını) VM'nin içinde başlıklarında saklar.
Minecraft sunucuları için fiili standart, bağlantı noktasını kullanmaktır 25565. Bu port üzerinden VM'nize erişimin kabul edilebilir olduğunu belirten bir kural ekleyelim.


Butona tıklayarak VM oluşturulmasını tamamlamak için pencereye gidiyoruz. İncele ve Başlat
VM için SSH anahtar çifti ayarlama
Böylece makineye bağlantı SSH protokolü kullanılarak gerçekleştirilecektir.
SSH protokolü şu şekilde çalışır: bir çift anahtar (genel ve özel) oluşturulur, genel anahtar VM'de saklanır ve özel anahtar, VM'ye (istemci) bağlanan kişinin bilgisayarında depolanır. Bağlanırken VM, istemcinin uygun bir özel anahtara sahip olup olmadığını kontrol eder.
Düğmeye bas Başlatmak. Önünüzde aşağıdaki pencere görünecektir:

Anahtar çiftinin adını girin (kolaylık olması açısından) ve Anahtar çiftini indirin. İndirmelisin .pem özel anahtarınızı içeren bir dosya. Düğmeye bas Örnekleri başlat. Sunucunun kurulacağı sanal makineyi az önce oluşturdunuz.
Statik IP alma
Şimdi sanal makinemize statik bir IP alıp bağlamamız gerekiyor. Bu menü için sekmeyi buluyoruz Elastik IP'ler ve onun üzerinde hareket ediyoruz. Sekmede düğmeye tıklayın Esnek IP adresi tahsis edin ve statik bir IP alın.

Artık alınan IP adresinin VM'mizle ilişkilendirilmesi gerekiyor. Bunu yapmak için listeden ve menüden seçin İşlemler Seç IP adresini ilişkilendir

Daha sonra VM'yi IP adresimize bağlayacağız

Bitti!
VM'ye gidiyoruz
Artık VM yapılandırıldığına ve IP adresi atandığına göre, ona bağlanalım ve minecraft sunucumuzu kuralım.
VM'ye SSH aracılığıyla bağlanmak için programı kullanacağız . PuTTYgen'i bu sayfadan hemen yükleyin
PuTTY'yi yükledikten sonra açın. Şimdi bağlantıyı yapılandırmanız gerekiyor.

- Sekmesinde oturum bağlantı türünü seç SSH, liman 22. Bağlantı için bir ad belirtin. SSH aracılığıyla bağlanmak için kullanılan ana bilgisayar adı şuna benzer bir dizedir:
имя_пользователя@публичный_dns.
AWS kullanıcı adı için CentOS varsayılan olarak - centos. Genel DNS'niz burada görüntülenebilir:

Hattı aldım centos@ec2-54-246-186-12.eu-west-1.compute.amazonaws.com
- Sekmesinde SSH -> Kimlik Doğrulama özel SSH anahtarınızı girin. Bir dosyada saklanır
.pem, daha önce indirdiğimiz. Ancak PuTTY dosyalarla çalışamaz.pembir formata ihtiyacı var.ppk. Dönüşüm için PuTTYgen'i kullanacağız. . Alınan dosya.ppkKaydedip burada belirtelim:

- Buton ile bağlantıyı açarak VM’ye bağlanıyoruz Açılış.
Tebrikler! VM'nizin konsoluna yeni bağlandık. Geriye kalan tek şey sunucumuzu üzerine kurmak.
Minecraft sunucusu kurma ve yapılandırma
Sunucumuzun kurulumuna başlayalım. Öncelikle sanal makinemize birkaç paket kurmamız gerekiyor.
sudo yum install -y wget mc iptables iptables-services java screen
Her paketin ne için olduğunu bulalım.
- wget - Linux'ta dosya indirmek için bir yardımcı program. Bunu kullanarak sunucu dosyalarını indireceğiz.
- mc - konsol metin düzenleyicisi. Eğitimsiz bir kullanıcı için kullanımı basit ve kolaydır.
- iptables — güvenlik duvarını yönetmek ve yapılandırmak için bir yardımcı program, onun yardımıyla VM'mizde sunucu için bir bağlantı noktası açacağız.
- Java — minecraft java üzerinde çalışır, bu nedenle sunucunun çalışması gereklidir
- ekran - Linux için pencere yöneticisi. Sunucuyu yükseltmek için konsolumuzu kopyalamamıza izin verecektir. Gerçek şu ki, sunucunun konsol aracılığıyla başlatılması gerekir; VM'nizle bağlantınız kesilirse sunucu işlemi durdurulacaktır. Bu nedenle ayrı bir konsol penceresinde çalıştıracağız.
Şimdi güvenlik duvarını yapılandıralım.
Güvenlik duvarı, bir bilgisayar ağının içinden geçen ağ trafiğini belirli kurallara uygun olarak kontrol eden ve filtreleyen bir yazılım veya donanım-yazılım öğesidir. (Wikipedia)
Basitçe açıklamak gerekirse: müstahkem bir şehir hayal edin. Şehirde normal hayat devam ederken kendisine sürekli dışarıdan saldırılar yapılıyor. Şehre ulaşmak için, kalenin duvarında, muhafızların durduğu ve bu kişinin kaleye girmesine izin verilip verilmeyeceğini listelerden kontrol ettiği bir kapı vardır. Bilgisayar ağlarında duvar ve kapının rolü güvenlik duvarı tarafından gerçekleştirilir.
sudo mcedit /etc/sysconfig/iptables
Az önce bir güvenlik duvarı yapılandırma dosyası oluşturduk. Bağlantı noktası kuralı da dahil olmak üzere standart yapılandırma verileriyle dolduralım 25565Minecraft sunucusunun standart bağlantı noktasıdır.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 25565 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
tuşuna basarak dosyayı kapatın F10, değişiklikleri kaydediyorum.

Şimdi güvenlik duvarını başlatalım ve başlangıçta etkinleştirelim:
sudo systemctl enable iptables
sudo systemctl restart iptables
Sunucu dosyalarını ayrı bir klasörde saklayacağız, oluşturacağız, ona gideceğiz ve sunucu dosyalarını indireceğiz. Bunu yapmak için kullanmalısınız wget
mkdir minecraft
cd minecraft
wget <ссылка_на_jar>
Bulmak gerek doğrudan bağlantı indirmek için .jar sunucu dosyası. Örneğin, sunucu dosyası sürüm 1.15.2'ye bağlantı:
wget https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jar
Komutu kullanarak bir klasörün içeriğini görüntüleyin ls, dosyaların indirildiğinden emin olun.

Sunucu dosyasını başlatalım. Artık sunucu çalışmayacak: iş için gerekli tüm dosyaları oluşturacak ve EULA lisansının şartlarını kabul etmediğinizden şikayet edecek. Dosyayı açarak şartları kabul edin eula.txt
sudo mcedit eula.txt
Girişi şu şekilde değiştirerek sözleşmenizi onaylayın:
eula=true
Dosyayı aç server.properties: Bu sunucu yapılandırma dosyanızdır.
Üzerinde aşağıdaki değişiklik yapılmalıdır:
online-mode=false
Geri kalan ayarlar sizin takdirinize bağlıdır.
Sunucu başlangıcı
Sunucuyu başlatmanın zamanı geldi. Daha önce de söylediğim gibi sunucu doğrudan konsoldan başlıyor ancak ana konsolu kapatırsak sunucu işlemi durdurulacaktır. Bu nedenle başka bir konsol oluşturalım:
screen
Sunucuyu bu konsolda başlatalım:
sudo java -Xms512M -Xmx1024M -jar <название_файла_сервера>.jar --nogui
Sunucu yaklaşık 45 saniye içinde başlayacaktır, işlemi yarıda kesmeyin. Sunucu başlatıldığında ve çalıştırıldığında şöyle bir şey göreceksiniz:

Tebrikler! Minecraft sunucunuzu yeni kurdunuz ve çalışır duruma getirdiniz. Artık çalışan sunucuyla çalışmaya devam etmesi için ikinci konsoldan doğru şekilde çıkmak önemlidir. Bunu yapmak için tıklayın Ctrl+AO zaman D. Ana konsolda olmanız ve şöyle bir mesaj görmeniz gerekir: [detached from 1551.pts-0.ip-172-31-37-146]. Sunucunun çalıştığı konsola dönmeniz gerekiyorsa şunu kullanın: screen -r
Artık VM'nizle bağlantınızı kesebilirsiniz. Sunucunuza daha önce 25565 numaralı bağlantı noktasından aldığımız statik IP adresi aracılığıyla erişilebilecek.

Sunucuya giriş adresinin şu olacağı ortaya çıktı: <ваш_статический_IP>:25565.
Sonuç
Bu talimatları kullanarak özel bir IP'ye sahip ücretsiz bir minecraft sunucusunu kolayca kurabilirsiniz. Makale mümkün olan en basit dilde yazılmıştır ve uzman olmayanlar için tasarlanmıştır. Bu konuda meşgul olanların yorumlarını duymak ilginç çünkü materyali basitleştirirken terminolojide maddi hatalar yapılabiliyor.
Kaynak: habr.com
