# Základy Používání BungeeCordu

##### **Body návodu:**

- **Co je to Bungeecord?**
- **Jiné verze**
- **Bezpečnost**
- **Nastavení serverů**
- **Oprávnění**

##### **1. Co je to Bungeecord?**

Bungeecord je **proxy server**, který umožňuje *spojit více samostatných Spigot (a lepších) serverů pod jednu síť.*  
Toho se dosahuje pomocí *tzv. forwardingu*, neboli <span style="text-decoration: underline;">*přeposílání zpráv mezi specifické cíle (servery)*</span>

Funguje jednoduše - máte k dispozici **skupinu hlavních a vedlejších serverů**, které **mají svou vlastní IP adresu i port**, a lze se na ně napojit <span style="text-decoration: underline;">přes bungee.</span>

Jelikož toho lze zneužít, je třeba server i zabezpečit.

Na nezabezpečený server se lze dostat přes jakoukoliv instanci bungee, pokud známe IP a Port cílového serveru.

**Jde tedy jen o most**, skrze který se hráči připojují na **cílové subservery**. Přitom však na serverech nejsou doslova, ale Bungeecord si je přerozděluje tak, aby všechna komunikace šla na cílový server, jako by se hráč připojil přímo.

##### **2. Jiné verze**

*Bungeecord existuje již od verze 1.5.2*, a tak není divu, že vznikly jeho modifikace. **Spravuje a vyvíjí jej SpigotMC.**

Mezi nejznámější patří **Waterfall** a Flamecord.

<span style="text-decoration: underline;">Waterfall je vyvíjen skupinou PaperMC, která téže vyvíjí modifikaci Spigotu - Paper.</span>

Flamecord patří mezi tzv. **custom modifikace,** a zaměřuje se na bezpečnost a rychlost Bungeecordu, zatímco Waterfall na obecnou funkcionalitu a bugfixy.

##### **3. Bezpečnost**

**Bezpečnost je nejdůležitější aspekt jakéhokoliv serveru, <span style="text-decoration: underline;">bez vyjímek.</span>**

Kvůli zmíněné chybě v bezpečnosti existují **pluginy**, které **tento problém** řeší.

<span style="text-decoration: underline;">**BungeeGuard**</span> je řešení, které na připojení mezi proxy a herním serverem přidává **klíč (token)**. Pokud tento token není na obou stranách <span style="text-decoration: underline;">stejný, nelze se připojit</span>. Tím se předejde všem připojením, které tento klíč neznají. Nelze se pak tedy připojit jednoduše z **jiné bungee instance**.

Návod na nastavení BungeeGuard najdete <span style="text-decoration: underline;">zde.</span>

##### **4. Nastavení Serverů**

**BungeeCord pracuje na <span style="text-decoration: underline;">*podobném principu, jako Spigot server.*</span>**

**Máte k dispozici základní konfiguraci (config.yml) a složku s pluginy.**

**<span style="text-decoration: underline;">Tyto pluginy jsou unikátní pro Bungeecord a nelze zde nahrát jiné, než k tomu uzpůsobené pluginy.</span>**

**Najít je můžete na ([https://www.spigotmc.org/resources/categories/bungee-proxy.3/](https://www.spigotmc.org/resources/categories/bungee-proxy.3/))**

##### <span style="text-decoration: underline;"><span style="background-color: transparent; color: rgb(0, 0, 0); font-family: Arial; font-size: 16pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; white-space: pre-wrap; text-decoration: underline;">Základní nastavení - Listeners:</span></span>

<span id="bkmrk--4" style="font-weight: normal;"><span style="font-size: 16pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; white-space: pre-wrap;"><span style="border-width: initial; border-style: none; display: inline-block; overflow: hidden; width: 285px; height: 366px;">![](https://lh3.googleusercontent.com/K5_flrbgoNKtb0F8bjW2sSQT_GQSggI5CqjcUxX4cscRcFYP4ZI91qrqjrmB6JNNk2C2rwnzXheBLR_qwtgrwef17cfrpCLt32D_hAjP1jYflZj9YhW90Zr_194cnG_Ru9wWbAh8uS7GQbZDj6oslzQ)</span></span></span>

• **<span style="text-decoration: underline;">Port je zde označen jako “query\_port”</span>**  
• <span style="text-decoration: underline;">**IP Adresa je pak označena jako “host”**</span>  
• Adresu *není třeba vypsat*, **je přiřazena automaticky**, pokud používáme adresu “**0.0.0.0**” (all interfaces)  
• Server, který chceme, aby byl **lobby, či přihlašovacím serverm**, dáme jako **první položku v sekci priorities.**  
Ostatní není třeba vypisovat.  
• <span style="text-decoration: underline;">bind\_local\_address přiřadí lokální IP pro 0.0.0.0, tzn adresu nodu, na kterém se server nachází (alfa.gamerhost.pro, aj.)</span>  
• <span style="text-decoration: underline;">**force\_default\_server by správně měl být zapnutý**</span>, *pokud používáte autentifikaci na lobby*. Zabraňuje tomu, aby se hráč dostal na jiné servery, když se připojuje. Také to znamená, že ***pokud je auth server nedostupný, nebude se moci připojit, a tedy nemůže obejít přihlašování.***

##### <span style="text-decoration: underline;"><span style="font-size: 16pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Přidávání serverů:</span></span>

<span id="bkmrk--5" style="font-weight: normal;"><span style="font-size: 16pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; white-space: pre-wrap;"><span style="border-width: initial; border-style: none; display: inline-block; overflow: hidden; width: 329px; height: 203px;">![](https://lh3.googleusercontent.com/EJdPp3xQ4sT_-Fv16ZSRl_1hRsCpBWO2l1dKJ-tssOV0S4MwP97UhLitFtFK0MMPzdCJjVT1gSiObWbrprKMXmbJKdqrd27u43hyqWfZyjIqirqP8mvUvDUz8EPk4RssHEF6w1uJTqWJ7DAOKUZwi08)</span></span><span style="font-size: 16pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; white-space: pre-wrap;">  
</span></span>

• **Servery lze najít v sekci “servers”.**  
• Každý server má svoje **id**, neboli **název (survival, test)**  
**Tento název** **se používá při připojení na něj, nastavení pluginů, aj.**  
• Každý server má svou *adresu a port*. Ta může být naprosto odlišná, pokud Bungee server <span style="text-decoration: underline;"><span style="color: rgb(0, 0, 0); text-decoration: underline;">může dosáhnout připojeného serveru</span></span>. (Což je zpravidla vždy)  
• **Podle daného schématu je možné v rychlosti přidat server, na který se hráči napojí.**  
**Jména těchto serverů lze použít v již zmíněných priorities (seznamu priorit při připojení)**

##### <span style="text-decoration: underline;">Nastavení na straně jednotlivých serverů:</span>

• Každý subserver musí mít ve **spigot.yml nastaveno “bungeecord: true”**

• **BungeeGuard token** musí být totožný s tím ve složce **“token.yml” na BungeeCord instanci.**

• **Vypneme kompresi packetů v <span style="text-decoration: underline;">server.properties</span> pro subservery (packet-compression-threshold: 0)**

**• Nastavíme online-mode na false**

<span style="text-decoration: underline;"><span style="font-size: 16pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;">Ostatní důležitá nastavení:</span></span>

**<span id="bkmrk--6" style="font-weight: normal;"></span>**

<span style="font-size: 16pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; overflow: hidden; width: 472px; height: 377px;">![](https://lh5.googleusercontent.com/cM7XUw6RWxDNMM_tSYSTX_DH4YwTRFgbdnDwSLgXi05dmwJFxZLyL8TfHDNI0lNbnXHS4U9vSXUlx261JYAEIntuF_LVUtE4Jv9r50URSKsHLGl7L5IF0MpQzXrX_S1kgtPFsMq2FJFqwivfxxUPZ6E)</span></span>

**• ip\_forward je velmi důležité nastavení.** *Předává automaticky IP adresy serverů i proxy instance.*  
<span style="text-decoration: underline;">*Není třeba mít zapnuté pro VPS*</span> **• prevent\_proxy\_connections** dokáže částečně předejít **VPN** a dalším **proxy** připojením <span style="text-decoration: underline;">*zvenčí*</span>. **• online\_mode** by měl být pro <span style="text-decoration: underline;">warez servery vždy false</span>. Pokud je pro hráče s legální verzí, **je třeba jej mít na online**, **a pro každý další sub-server na offline (jednotlivé hrací servery)**