= Pangunahing Pagho-host ng Server ng Laro sa Azure = Ang arkitektura ng sanggunian na ito ay nagdedetalye ng mga hakbang sa pag-setup ng pangunahing Azure backend na magho-host ng server ng laro sa alinman sa Windows o Linux, gamit ang **Server ng Minecraft** bilang isang halimbawa. ![ Minecraft server na tumatakbo sa isang Azure Virtual Machine](media/multiplayer/multiplayer-minecraft-server.png) == Diagram ng Arkitektura == ![ Pagho-host ng isang server ng laro sa isang Azure Virtual Machine](media/multiplayer/multiplayer-basic-game-server-hosting.png) == Mga nauugnay na serbisyo == - Azure Windows Virtual Machines at Azure Linux Virtual Machines - Ang pinakapangunahing paraan upang makakuha ng kapangyarihan sa pag-compute sa Azure. - Azure Disk Storage - Basic na patuloy na storage. == Hakbang-hakbang == Ang buod ng mga hakbang upang makumpleto ay: - Mag-set up ng resource group. - Mag-set up ng Azure Virtual Machine, mag-attach ng persistent disk at magbukas ng mga port. - I-access ang bagong Azure Virtual Machine nang malayuan sa pamamagitan ng maintenance port. - I-set up ang operating system na firewall. - Simulan at i-format ang patuloy na data disk. - I-install ang mga dependency ng server ng laro. - I-install ang server ng laro mismo. - I-configure ang server ng laro. - Patakbuhin ang server ng laro at i-double check kung bukas ang mga port. Mag-set up ng resource group Ang pangkat ng mapagkukunan ay isang lohikal na koleksyon ng mga mapagkukunan ng Azure. Ang lahat ng mga mapagkukunan ay ipinakalat at pinamamahalaan sa isang pangkat ng mapagkukunan. Gawin ang sumusunod upang lumikha ng pangkat ng mapagkukunan: - Kung wala kang subscription sa Azure, lumikha ng isang libreng account bago ka magsimula. - Mag-sign in sa Azure portal. - Sa kaliwang nabigasyon, i-click Mga pangkat ng mapagkukunan. Pagkatapos ay i-click ang Magdagdag. - Mag-type ng natatanging pangalan para sa pangkat ng mapagkukunan. Agad na sinusuri ng system upang makita kung available ang pangalan sa kasalukuyang napiling Azure na subscription. - Sa Subscription, i-click ang pangalan ng Azure subscription kung saan mo gustong gawin ang resource group. - Pumili ng heyograpikong lokasyon para sa pangkat ng mapagkukunan. - I-click Lumikha. Mag-set up ng Azure Virtual Machine, mag-attach ng persistent disk at magbukas ng mga port Lumikha ng isang mapagkukunan at pumili ng isang virtual machine na may operating system na tatakbo sa server ng laro. Hanapin ang mga sumusunod sa Azure Portal, kadalasan sila ay kabilang sa pinakasikat: Windows Linux Windows Server 2016 Datacenter o Windows Server 2016 VM Ubuntu Server 18.04 LTS o Ubuntu Server 18.04 VM Piliin ang Azure subscription, resource group, pangalan ng virtual machine at rehiyon. Pumili ng uri ng makina, uri ng disk, at laki ng disk na nakakatugon sa iyong sariling I/O at mga pangangailangan sa mapagkukunan. Sa kaso ng Minecraft server, tulad ng isang maliit na Azure Virtual Machine Ang mga karaniwang B2, na may 2 virtual na CPU (vCPU) at 4GB ng RAM, ay magiging maayos para sa wala pang 10 user. I-setup ang makina username at password ng administrator, para ma-access ito nang malayuan. Payagan ang mga pampublikong papasok na port para makakonekta sa virtual machine bilang administrator sa ibang pagkakataon (maintenance port), ang mga partikular na port mula sa iyong server ng laro ay paganahin pagkatapos: Windows Linux RDP (Remote Desktop Protocol) port: TCP/3389 Opsyonal na idagdag ang SSH port: TCP/22 SSH port: TCP/22 Lumipat sa diskssection at piliin ang gumawa at mag-attach ng bagong data na walang laman na disk sa Azure Virtual Machine, upang iimbak ang server ng laro na maipapatupad at ang mga file ng data na ginagawa nito. Ang uri ng pinagmulan ay wala (walang laman na disk). Ang Azure Virtual Machines ay may isang operating system disk at isang pansamantalang disk para sa panandaliang imbakan, ngunit ang impormasyong nakaimbak ay mawawala sa sandaling ihinto ang Azure Virtual Machine. Sa patuloy na disk, kahit na ang Azure Virtual Machine na tumatakbo sa server ay itinigil, magpapatuloy ang data pagkatapos. Lumipat sa networkingsection upang paganahin ang mga port na kailangan ng iyong server ng laro upang tanggapin ang mga kahilingan ng manlalaro at lumikha ng pampublikong IP. Para sa pagbubukas ng mga port, kakailanganin mong gamitin ang isang virtual network, isang subnet at isang Network Security Group (NSG). Parehong ang virtual network at ang subnet ay nilikha bilang default, sa kaso ng Minecraft server hindi mo kailangang hawakan ang anuman. Para sa paglikha ng Network Security Group, piliin ang radio button upang paganahin ang advanced NIC network security group, i-configure ang bagong Network Security Group (NSG) sa pamamagitan ng pag-click sa link na "Gumawa ng bago"sa tabi mismo nito at idagdag ang nauugnay na papasok na panuntunan o mga panuntunan. Sa kaso ng Minecraft, isang port lamang ang kinakailangan, na nag-iiba ito sa numero at protocol depende sa Minecraft edition (Java Edition, Bedrock Edition), ang pinagmulan ng mga value ay ang server.properties file, ang format kung saan ipinaliwanag dito. . Pagkatapos mag-click sa link na "Magdagdag ng papasok na panuntunan"gamitin ang mga halagang ito: Minecraft Java Edition Minecraft Bedrock Edition Source Any Any Source Port ranges Destination Any Any Destination Port ranges 25565 19132 Protocol TCP UDP Action Allow Allow Priority 100 100 Name MinecraftJava_Port MinecraftBedrock_Port Para sa paggawa ng pampublikong IP, sundin ang mga hakbang na ito: mag-click sa link na "Gumawa ng bago"sa tabi mismo ng setting na ito at i-configure ito gamit ang static na pagtatalaga. Suriin at likhain ang Azure Virtual Machine. Tandaan na aabutin ng ilang minuto upang makumpleto ang deployment. I-access ang bagong Azure Virtual Machine nang malayuan sa pamamagitan ng maintenance port Kakailanganin mo ang alinman sa pampublikong IP o ang pangalan ng DNS upang kumonekta sa Azure Virtual Machine, upang mahanap ang mga ito sundin ang mga hakbang na ito: - I-access ang Resource Group na iyong ginawa. - Piliin pagkatapos ang virtual machine na iyong ginawa. - Ang Public IP addressor ang DNS Namefields ang iyong hinahanap, alinman ay magiging maayos. Upang i-setup ang DNS, mag-click sa link na "I-configure"sa ilalim ng Pangalan ng DNS, magbigay ng pangalan sa ilalim ng label ng pangalan ng DNS at i-save ito. Pagkatapos nito, sundin ang tutorial na ito upang ma-access ang Azure Virtual Machine nang malayuan: |Remote Desktop Protocol (TCP/3389SSH (TCP/22)| |Paano gamitin ang Remote Desktop||Secure Shell Protocol| Kapag nakakonekta ka na sa Azure Virtual Machine, maaari kang magpatuloy sa mga natitirang hakbang sa ibaba. I-set up ang operating system firewall Ang iyong virtual machine ay na-configure na upang tumanggap ng mga kahilingan sa parehong maintenance at game server partikular na port, gayunpaman ang Kailangan ding i-configure ang **operating system firewall**. Sundin ang mga tutorial na ito upang buksan ang **mga port na kailangan ng iyong server ng laro** upang tanggapin ang mga kahilingan ng manlalaro. |Windows||Linux| |Gumawa ng inbound port rule sa Windows Server 2016||Ubuntu uncomplicated firewall | Halimbawa sa kaso ng Minecraft ang mga utos ay: - - Sa kaso ng mga Minecraft server, isang paalala lang na ang mga default na port ay nag-iiba depende sa bersyon ng laro: Gumagamit ang Minecraft Java Edition ng TCP/25565 habang ang Minecraft Bedrock Edition ay gumagamit ng UDP/19132. Simulan at i-format ang persistent data disk |Windows||Linux| |Gumamit ng Disk Management (diskmgmt.msc) | Upang buksan ang Disk Management, i-right-click ang Start button at piliin ang Disk Management. Pansinin na ang disk 2 ay hindi nakalaan, iyon ang patuloy na disk na kailangang masimulan at ma-format. |Kumonekta sa Linux VM para i-mount ang bagong disk | Kabilang dito ang mga sumusunod na hakbang: 1. Pagtuklas ng disk 2. Paghahati nito 3. Pagsusulat ng isang file system dito 4. Pag-mount nito sa isang direktoryo 5. Pagse-set up ng awtomatikong pag-mount pagkatapos mag-reboot I-install ang mga dependency ng server ng laro Sa kaso ng Minecraft server, ang mga dependencies ay: |Minecraft server edition||Windows||Linux| |Minecraft Java Edition||Java 8 64-bit na bersyon||Pag-install ng Java 8 sa Ubuntu| |Minecraft Bedrock Edition||Microsoft Visual C++ Redistributable para sa Visual Studio||N/A| I-install ang server ng laro mismo Gumawa ng folder sa persistent disk na kaka-format mo lang. I-download at i-install ang server ng laro doon. Sa kaso ng Minecraft server ang mga link sa pag-download ay: Minecraft Java Edition Minecraft Bedrock Edition Link sa pag-download ng link sa pag-download Kung ina-access mo ang Azure Virtual Machine sa pamamagitan ng SSH: - tingnan ang dokumentasyon ng utos ng Wget upang matutunan kung paano gumamit ng hindi interactive na network downloader. - I-install ang unzip sa pamamagitan ng pagtakbo sudo apt-get install unzipand pagkatapos ay tumakbo sudo unzip THEZIPFILEupang ma-unzip ang Minecraft Bedrock Edition server. I-configure ang server ng laro Sa kaso ng Minecraft Java Edition server, palitan muna ang eula.txt file parameter (eula=true) para tanggapin ang kanilang EULA. Kung ina-access mo ang Azure Virtual Machine sa pamamagitan ng SSH, tingnan ang dokumentasyon ng editor ng Nano upang mag-edit ng mga file sa pamamagitan ng SSH. Sundin ang tutorial na ito mula sa opisyal na Minecraft wiki upang i-configure ang Minecraft server para sa parehong Minecraft server edition. Patakbuhin ang server ng laro at i-double check kung bukas ang mga port Upang patakbuhin ang server ng Minecraft Java Edition gamitin ito mula sa command line (Windows) o terminal (Linux): java -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M -jar server.jar nogui Kung gusto mong simulan ang server gamit ang graphical user interface nito, maaari mong iwanan ang "nogui"na bahagi. Maaari kang lumikha ng isang batch file (Windows) o script (Linux) para sa kaginhawahan. Upang patakbuhin ang server ng Minecraft Bedrock Edition: - sa Windows, i-double click lang sa bedrock_server.executable. - sa Linux, gamitin LD_LIBRARY_PATH=. ./bedrock_servermula sa direktoryo kung saan naka-install ang server. Ang server ay hindi kailangang patakbuhin bilang root. Kung gumagamit ka ng Minecraft Java Edition, kapag tumatakbo na ang server, maaari mong suriin na ang mga port na kailangan para sa iyong server ng laro ay bukas at nakikinig. Ngunit, tiyaking tumatakbo ang server ng laro bago subukan: |Pagsubok mula sa||Windows||Linux| |Sa loob ng Azure Virtual Machine||Patakbuhin |nakikinig |Tumakbo | |Sa labas ng Azure Virtual Machine||1. Paganahin ang Telnet sa pamamagitan ng pagsunod sa mga hakbang na ito: Mag-click sa Start, Control Panel, Programs, at pagkatapos ay I-on o i-off ang Mga Feature ng Windows; pagkatapos ay mag-scroll pababa at piliin ang Telnet Client at i-click ang OK | 2. Pagkatapos nito, mula sa command line, tumakbo tinanggap |Tumakbo |tinanggap Kung gumagamit ka ng Minecraft Bedrock Edition: |Pagsubok mula sa||Windows||Linux| |Sa loob ng Azure Virtual Machine||Patakbuhin ||Tumakbo | == Mga pagsasaalang-alang sa seguridad == Ang mga pampublikong papasok na port ay nakalantad sa internet kaya dapat mong gamitin ang mga advanced na kontrol ng Azure Portal upang limitahan ang pagpapanatili ng papasok na trapiko sa mga kilalang IP address, ibig sabihin, ikaw lang ang makaka-access sa Azure Virtual Machine nang malayuan. == Pagpepresyo == Kung wala kang subscription sa Azure, lumikha ng isang libreng account upang makapagsimula sa 12 buwan ng mga libreng serbisyo. Hindi ka sinisingil para sa mga serbisyong kasama nang libre sa Azure free account, maliban kung lalampas ka sa mga limitasyon ng mga serbisyong ito. Matutunan kung paano suriin ang paggamit sa pamamagitan ng Azure Portal o sa pamamagitan ng file ng paggamit. Ikaw ang may pananagutan sa gastos ng mga serbisyo ng Azure na ginagamit habang pinapatakbo ang mga reference na arkitektura na ito, ang kabuuang halaga ay nakadepende sa bilang ng mga kaganapan na tatakbo sa pamamagitan ng analytics pipeline. Tingnan ang mga webpage ng pagpepresyo para sa bawat isa sa mga serbisyong ginamit sa mga reference na arkitektura: Mayroon ka ring magagamit na calculator ng pagpepresyo ng Azure, upang i-configure at tantiyahin ang mga gastos para sa mga serbisyo ng Azure na pinaplano mong gamitin. == Feedback == Isumite at tingnan ang feedback para sa