1. Nelíbí se ti reklamy? Zaregistruj se a přihlaš se na fóru!

Dotaz Vytížení bukkit serveru

Vlákno v 'Obecná diskuze' založil Papista 30. září 2013.

  1. Papista

    Papista Registered

    Offline
    Registrován:
    30. září 2013
    Dobrý den,
    vytvořil jsem na VPS minecraft server. Nicméně v momentě kdy jsou připojeni "jen" 4 hráči,tak stoupne vytížení procesoru na 100% a neklesá. Paměť drží na nějakých 650MB z 1GB. Lagy nejdou zatím vidět. Nicméně při 6ti hráčích jsou již pozotovatelné i ty lagy. Na netu je spousta spouštěcích mechanismů (třeba i na 4 řádky příkazů) a žádný pořádně nevysvětluje co který parametr dělá. Nemáte pro mne prosím nějakou radu jak server optimalizovat?
    Hraje nás celkem 10 kamarádů/dek a to tam nemám přidány zatím žádné mody - chtěl bych spustit minimálně mod dynmap, jenže s takovýmto vytížením si to netroufám.

    Konfigurace:
    Dell Xeon 3.2Ghz Dualcore
    Přiřazena paměť: 1GB
    Server: bukkit 1.6.2 prozatím bez modů
    OS: Linux Debian 3.2.46-1 i686

    V server-properties mám nastaveno:
    view-distance: 9
    max-players: 10

    Spouštěcí skript:
    java -jar craftbukkit.jar nogui
    (Zkoušel jsem tomu přiřadit i parametry pro přiřazení paměti Xms a Xmx a beze změny)

    Prosím o radu.
     
  2.  
  3. medis0003

    medis0003 Registered

    Offline
    Registrován:
    07. prosince 2011
    Ahoj,
    S tím si nedělej starosti server s 10 hráči lze provozovat i s 700 MHZ a 512 MB ram (odzkoušeno :D), nicméně těch 100% moc normální není pokud je i v stavu IDLE, nainstaluj aplikaci "HTOP" ta ti řekne který proces to ,žere... pokud je to java zkus následující,
    • Spigot bukkit (bukkit s mnoha optimalizacemi, citelně zvýší výkon)
    • OpenJDK 7 (aka Java 7, v případě ARMu je zde i vývojářská Java8 která funguje ještě lépe)
    • Co nejméně pluginů (jak kterých samozřejmě)
    • Na daném VPS vypnout grafické prostředí a vše ostatní (VNC server apod, stačí nám SSH) > ušetříme tak spoustu MB ram
    Pár speciálních pluginů : NoChunksSpawn, WorldBorder

    NoChunks (spawn?)
    (přesný název si nepamatuji) ,ale je plugin opravdu mocný > zvýší výkon nenačítáním chunků v ostatních světech a chunků jinak neviditelných či zbytečných a neustále čistí ram,

    WorldBorder
    Nepoužijem na vytvoření hranic světa pokud nutně nechcem, ale na před-generování světa, svět s předgenerovanými chunky do 5000 bloků opravdu zajístí ,že si stím CPU nebude muset lámat hlavu a jen jej načte z disku,

    A případně kouknout na přilepšující parametry při spouštění serveru, a snížení viditelnost také pomůže. Také se podívej do logu či konzole jestli tam nemáš nefunkční či poblázněný plugin zahlcující terminal neustálou generací error hlášek apod. Také není od věci aktualizovat všechny pluginy pro 1.6.2 atd.
    (jsem ve škole napsal jsem to na rychlo tak sorry za případné chybky,úpravu či nesrovnalosti ^.^)
     
    Poslední úprava: 30. září 2013
    • Kreativní příspěvek Kreativní příspěvek x 2
    • Děkuji! Děkuji! x 1
  4. Papista

    Papista Registered

    Offline
    Registrován:
    30. září 2013
    Tak Open JDK mám nahozený, to už jsem též zkoušel. Pluginy namám vůbec žádné zatím jak píši.
    No a můžeš popsat a poradit nějaké ty spouštěcí parametry které by mohly pomoci? Přece jen je jich spousta a každý píše spoustu možných a nikdo není schopen mi říci co který dělá...
    Worldborder a Nochunks zkusím najít a otestovat... hranice světa dávat zatím nechci, ale na to předgenerování by to mohlo být ok - ikdyž už toho máme dost prochozeno a moc se necestuje - spíš jen stavíme
     
  5. medis0003

    medis0003 Registered

    Offline
    Registrován:
    07. prosince 2011
    http://dev.bukkit.org/bukkit-plugins/nospawnchunks/
    Tady je ten první,
    WorldBorder umí předrenderovat svět i bez hranic,

    Spigot je k nalezení tady http://www.spigotmc.org/ (není to plugin ale náhrada craftbukkitu s mnoha optimalizacemi,)

    Jinak zase výše zmíněné :D já se zas akorát nudil ve škole :D

    U těch spouštěcích parametrů zkus nejdřív jen toto, chce to trochu experimentovat ale vliv to moc mít nebude,

    java -Xmx1024M -jar spigot.jar

    a kdo má času navíc může zkusit i Javu8
    K nalezení tady
    https://jdk8.java.net/download.html
     
    Poslední úprava: 01. října 2013
  6. dwi

    dwi God

    Offline
    Registrován:
    19. prosince 2010
    ehm, NoSpawnChunks poslední verze z dubna 2012 silně nedoporučuji. Zjistil jsem, že u nás to šíleně žralo výkon když se někdo nether portálem pokusil portnout do místa, které bylo za hranicí světa a kde bylo vytvoření chunku zablokováno.
     
    • Informativní Informativní x 1
  7. medis0003

    medis0003 Registered

    Offline
    Registrován:
    07. prosince 2011
    Staré to je, ale funguje stále (asi, pro jistotu to jdu otestovat :) ), to stím portálem možná možné je, nicméně Papista hranice mít nebude žádné. Navíc myslím ,že spigot detekuje které plugin jak vytěžuje server a jaký mají tick,,,
     
  8. dwi

    dwi God

    Offline
    Registrován:
    19. prosince 2010
    Jasně že jde poznat, který plugin žere nejvíc tickrate. Proto šel NoSpawnChunks honem rychle pryč, když jsem zjistil, že shazuje server z 20TPS na 5
     
  9. weltar

    weltar Registered

    Offline
    Registrován:
    01. listopadu 2011
    Kdysi se mi stávalo, že měl bukkit problémy (s vytížením) se světem, který byl nejprve vytvořen v single a až následně přenesen na server. Netuším čím konkrétně to bylo - důvody jen odhadu, ale dokáži si představit proč - nicméně to je celkem jedno. Také občas některé konkrétní bukkit verze mívaly problémy na slabším stroji (možná právě v souvislosti s vygenerováním světů pod jiným bukkitem a následný přechod). Takovéto dočasné časem obvykle zmizelo. Světy, které vytěžovaly bukkit už od začátku, většinou zůstaly problematické i pro další verze bukkit.

    Schválně, pro test, zazálohuj současný svět a vyzkoušej vytvořit nějaké jiné nové světy s různými seed. A Případně pár různých verzí bukkit. Zda to bude mít pokaždé problémy. Pokud bude, tak to není tato chyba. Ale třeba najdeš svět, kde to bude ok.

    P.S.: Až to rozběhneš a za4ne3 p5id8vat pluginy: Na slabším stroji žere dynmap hrozně moc, ve chvíli, kdy se vytváří obrazy. Tedy (i později) ve chvíli, kdy lidé objevují nové světy. Takže doporučuji nejprve objevit kus, a až pak nechat udělat dyn-mapu. A pokud později nastane herní situace hromadného objevování nových území (často bývá nárazové), tak na tu chvíli dynmap vypni a nechat dorenderovat ručně, později, třeba přes noc.
     
    • Informativní Informativní x 1
  10. Papista

    Papista Registered

    Offline
    Registrován:
    30. září 2013
    Takže situace je následující:
    Začal jsem používat NoSpawnChunks a musím říci že zatím bez problému (snížil požadavky na paměť skoro o polovinu - verze z dubna). WorldBorder jsem zatím nezkoušel, jelikož teď se pohybujeme na již prozkoumaném světě.
    Přešel jsem na Spigot, ale první co bylo bylo snížení výkonu při vykreslování chunků. Zatím to jakžtakž vyřešilo nastavení X-Ray na false. Přechodem na Spigot se snížili nároky na CPU. Nároky na pamět zůstávají v pořádku. Nicméně stává se že server se nestíhá vykreslovat... Občas prostě musím vstoupit až do daného chunku aby se vykreslil... Nato ale zase někdy je to v pohodě :-(
    Přidání parametrů -Xmx a -Xms při startu serveru nezdá se že by ovlivňovalo výkon serveru.
    Svět byl vytvořen přimo v multiplayeru, takže nový svět dělá to samé.

    Jak se dá zjisit to tickrate? respektive jak zjistit který plugin nejvíce vytěžuje server??
    O Dynmap vím že hrozně vytěžuje, proto jsem ho ani žádný jiný plugin zatím nepřidával, dokud nestabilizuji server.
    Může někdo poradit co by se dalo ještě vyladit v nastavení Spigotu abych zvýšil výkon při vykreslování??
     
  11. dwi

    dwi God

    Offline
    Registrován:
    19. prosince 2010
    Takhle, že minecraft bere 100% cpu ještě neznamená, že to laguje. Jinak příkaz na tps je /tps a pokud to je 18-20, tak to je v pořádku. Pokud budeš mít menší hodnoty, tak už je něco špatně
     
  12. Papista

    Papista Registered

    Offline
    Registrován:
    30. září 2013
    jj o tps vím, proto jsem se hned nato ptal zda se dá nějak zobrazit jak který plugin vytěžuje...
    Jak říkám, nyní je to vcelku v pořádku. jen ještě řeším "náhodné" propady výkonu, kdy se občas nenačítají bloky a je potřeba do chunku vstoupit aby se načetly...
     

Sdílej tuto stránku