= Basic Game Server Hosting på Azure = Denna referensarkitektur beskriver stegen för att konfigurera en grundläggande Azure-backend som kommer att vara värd för en spelserver på antingen Windows eller Linux, med **Minecraft-server** som ett exempel. ![ Minecraft-server som körs på en Azure Virtual Machine](media/multiplayer/multiplayer-minecraft-server.png) == Arkitekturdiagram == ![ Att vara värd för en enda spelserver på en Azure Virtual Machine](media/multiplayer/multiplayer-basic-game-server-hosting.png) == Relevanta tjänster == - Azure Windows Virtual Machines och Azure Linux Virtual Machines - Det mest grundläggande sättet att få datorkraft på Azure. - Azure Disk Storage - Grundläggande beständig lagring. == Steg för steg == Sammanfattningen av steg att slutföra är: - Skapa en resursgrupp. - Konfigurera en Azure Virtual Machine, anslut en beständig disk och öppna portar. - Få åtkomst till den nya Azure Virtual Machine på distans via underhållsport. - Konfigurera operativsystemets brandvägg. - Initiera och formatera den beständiga datadisken. - Installera spelserverberoendena. - Installera själva spelservern. - Konfigurera spelservern. - Kör spelservern och dubbelkolla att portarna är öppna. Skapa en resursgrupp En resursgrupp är en logisk samling av Azure-resurser. Alla resurser distribueras och hanteras i en resursgrupp. Gör följande för att skapa en resursgrupp: - Om du inte har en Azure-prenumeration, skapa ett gratis konto innan du börjar. - Logga in på Azure-portalen. - Klicka på i den vänstra navigeringen Resursgrupper. Klicka sedan på Lägg till. - Skriv ett unikt namn för resursgruppen. Systemet kontrollerar omedelbart om namnet är tillgängligt i den för närvarande valda Azure-prenumerationen. - I Prenumeration, klicka på namnet på Azure-prenumerationen där du vill skapa resursgruppen. - Välj en geografisk plats för resursgruppen. - Klick Skapa. Konfigurera en Azure Virtual Machine, anslut en beständig disk och öppna portar Skapa en resurs och välj en virtuell maskin med operativsystem som spelservern kommer att köras på. Sök efter följande i Azure Portal, de är vanligtvis bland de mest populära: Windows Linux Windows Server 2016 Datacenter eller Windows Server 2016 VM Ubuntu Server 18.04 LTS eller Ubuntu Server 18.04 VM Välj Azure-prenumeration, resursgrupp, namn på den virtuella maskinen och regionen. Välj en maskintyp, disktyp och diskstorlek som uppfyller dina egna I/O- och resursbehov. I fallet med Minecraft-servern, en liten Azure Virtual Machine som Standard B2s, med 2 virtuella CPU (vCPU) och 4 GB RAM, skulle vara bra för mindre än 10 användare. Ställ in maskinen administratörens användarnamn och lösenord, för att kunna komma åt det senare på distans. Tillåt offentliga inkommande portar för att kunna ansluta till den virtuella maskinen som administratör senare (underhållsportar), de specifika portarna från din spelserver kommer att aktiveras efteråt: Windows Linux RDP (Remote Desktop Protocol) port: TCP/3389 Lägg eventuellt till SSH-porten: TCP/22 SSH-port: TCP/22 Byt till disksektion och välj skapa och bifoga en ny datatom disk till Azure Virtual Machine för att lagra spelserverns körbara fil och datafilerna som den producerar. Källtypen är ingen (tom disk). Azure Virtual Machines har en operativsystemdisk och en temporär disk för korttidslagring, men den lagrade informationen kommer att gå förlorad så snart Azure Virtual Machine stoppas. Med en beständig disk, även om Azure Virtual Machine som kör servern stoppas, uppgifterna kommer att fortsätta att kvarstå efteråt. Byt till nätverkssektion för att aktivera de portar som din spelserver behöver för att acceptera spelarförfrågningar och skapa en offentlig IP. För att öppna portarna måste du använda ett virtuellt nätverk, ett subnät och en Network Security Group (NSG). Både det virtuella nätverket och subnätet skapas som standard, i fallet med Minecraft-servern behöver du inte röra någonting. För att skapa nätverkssäkerhetsgruppen, välj alternativknappen för att aktivera avancerad nätverkssäkerhetsgrupp för nätverksnätverk, konfigurera den nya nätverkssäkerhetsgruppen (NSG) genom att klicka på länken "Skapa ny"precis bredvid den och lägg till den eller de relevanta inkommande reglerna. I fallet med Minecraft krävs endast en port, som varierar i antal och protokoll beroende på Minecraft-utgåvan (Java Edition, Bedrock Edition), källan till värdena är filen server.properties, formatet för vilket förklaras här . När du har klickat på länken "Lägg till en inkommande regel"använder du dessa värden: Minecraft Java Edition Minecraft Bedrock Edition Källa Alla Alla Källor portintervall Destination Alla Alla Destinationsportintervall 25565 19132 Protokoll TCP UDP Åtgärd Tillåt Tillåt Prioritet 100 100 Namn MinecraftJava_Port MinecraftBedrock_Port För att skapa den offentliga IP-adressen, följ dessa steg: klicka på länken "Skapa ny"bredvid denna inställning och konfigurera den med statisk uppgift. Granska och skapa Azure Virtual Machine. Tänk på att det tar några minuter att slutföra distributionen. Få åtkomst till den nya Azure Virtual Machine på distans via underhållsport Du behöver antingen den offentliga IP-adressen eller DNS-namnet för att ansluta till Azure Virtual Machine. Följ dessa steg för att hitta dem: - Gå till resursgruppen du skapade. - Välj sedan den virtuella maskinen som du skapade. - Den Offentlig IP-adress eller DNS-namnfälten är vad du letar efter, antingen kommer att vara bra. För att ställa in DNS, klicka på länken "Konfigurera"under DNS-namn, ange ett namn under DNS-namnetiketten och spara det. Efter det följer du dessa självstudier för att komma åt Azure Virtual Machine på distans: |Remote Desktop Protocol (TCP/3389SSH (TCP/22)| |Hur du använder Remote Desktop||Secure Shell Protocol| När du har anslutit till Azure Virtual Machine kan du fortsätta med de återstående stegen nedan. Konfigurera operativsystemets brandvägg Din virtuella maskin är redan konfigurerad att acceptera förfrågningar till både underhålls- och spelserverspecifika portar, dock **operativsystemets brandvägg** måste också konfigureras. Följ dessa tutorials för att öppna **portarna som din spelserver behöver** för att acceptera spelarförfrågningar. |Windows||Linux| |Skapa en regel för inkommande port på Windows Server 2016||Ubuntu okomplicerad brandvägg | Till exempel i fallet med Minecraft skulle kommandona vara: - - När det gäller Minecraft-servrar, bara en påminnelse om att standardportarna varierar beroende på versionen av spelet: Minecraft Java Edition använder TCP/25565 medan Minecraft Bedrock Edition använder UDP/19132. Initiera och formatera den beständiga datadisken |Windows||Linux| |Använd Diskhantering (diskmgmt.msc) | För att öppna Diskhantering, högerklicka på Start-knappen och välj Diskhantering. Lägg märke till att disk 2 är oallokerad, det är den beständiga disken som måste initieras och formateras. |Anslut till Linux VM för att montera den nya disken | Det innebär följande steg: 1. Upptäcker disken 2. Partitionera den 3. Skriva ett filsystem på den 4. Montera den i en katalog 5. Ställa in automatisk montering efter omstart Installera spelserverberoenden I fallet med Minecraft-servern är beroenden: |Minecraft serverutgåva||Windows||Linux| |Minecraft Java Edition||Java 8 64-bitarsversion||Installera Java 8 på Ubuntu| |Minecraft Bedrock Edition||Microsoft Visual C++ omdistribuerbar för Visual Studio||N/A| Installera själva spelservern Skapa en mapp på den persistenta disken som du just formaterade. Ladda ner och installera spelservern där. När det gäller Minecraft-servern är nedladdningslänkarna: Minecraft Java Edition Minecraft Bedrock Edition Nedladdningslänk Ladda ner länk Om du använder Azure Virtual Machine via SSH: - kolla in Wgets kommandodokumentation för att lära dig hur du använder en icke-interaktiv nätverksnedladdning. - installera unzip genom att köra sudo apt-get install packa upp och kör sedan sudo unzip THEZIPFILE för att kunna packa upp Minecraft Bedrock Edition-servern. Konfigurera spelservern I fallet med Minecraft Java Edition-servern, ändra först filparametern eula.txt (eula=true) för att acceptera deras licensavtal. Om du kommer åt Azure Virtual Machine via SSH, kolla in Nano-redigerarens dokumentation för att redigera filer via SSH. Följ den här handledningen från den officiella Minecraft-wikin för att konfigurera Minecraft-servern för båda Minecraft-serverutgåvorna. Kör spelservern och dubbelkolla att portarna är öppna För att köra Minecraft Java Edition-servern, använd detta från kommandoraden (Windows) eller terminalen (Linux): java -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M -jar server. Om du vill starta servern med dess grafiska användargränssnitt kan du utelämna "nogui"-delen. Du kan skapa en batchfil (Windows) eller skript (Linux) för enkelhetens skull. Så här kör du Minecraft Bedrock Edition-servern: - på Windows, dubbelklicka bara på bedrock_server.exekörbar. - på Linux, använd LD_LIBRARY_PATH=. ./bedrock_server från katalogen där servern installerades. Servern behöver inte köras som root. Om du använder Minecraft Java Edition, när servern är igång, kan du kontrollera att portarna som behövs för din spelserver är öppna och lyssnar. Men se till att spelservern körs innan du testar: |Testar från||Windows||Linux| |Inom Azure Virtual Machine||Kör |lyssnar |Kör | |Utanför Azure Virtual Machine||1. Aktivera Telnet genom att följa dessa steg: Klicka på Start, Kontrollpanelen, Program och sedan Slå på eller av Windows-funktioner; Scrolla sedan ned och välj Telnet Client och klicka på OK | 2. Efter det, från kommandoraden, kör accepterat |Kör |accepterat Om du använder Minecraft Bedrock Edition: |Testar från||Windows||Linux| |Inom Azure Virtual Machine||Kör ||Kör | == Säkerhetsaspekter == Offentliga inkommande portar är exponerade för internet så du bör använda de avancerade kontrollerna i Azure Portal för att begränsa inkommande underhållstrafik till kända IP-adresser, vilket innebär att bara du kan komma åt Azure Virtual Machine på distans. == Prissättning == Om du inte har en Azure-prenumeration, skapa ett gratiskonto för att komma igång med 12 månaders gratistjänster. Du debiteras inte för tjänster som ingår gratis med Azure gratiskonto, såvida du inte överskrider gränserna för dessa tjänster. Lär dig hur du kontrollerar användningen via Azure Portal eller genom användningsfilen. Du är ansvarig för kostnaden för Azure-tjänsterna som används när du kör dessa referensarkitekturer, det totala beloppet beror på antalet händelser som kommer att köras genom analyspipelinen. Se prissättningswebbsidorna för var och en av tjänsterna som användes i referensarkitekturerna: Du har också tillgänglig Azure-priskalkylatorn för att konfigurera och uppskatta kostnaderna för de Azure-tjänster som du planerar att använda. == Feedback == Skicka in och se feedback för