Advertisement
Guest User

Untitled

a guest
Nov 26th, 2017
345
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.73 KB | None | 0 0
  1. Przewaga VPS'a i serwera dedykowanego nad serwerem wirtualnym.
  2.  
  3. Zacznijmy od małego objaśnienia: serwer wirtualny, to serwer postawiony na serwerze dedykowanym, obok którego, na jednej maszynie stoją dziesiątki innych. Przykładowo te dostępne na:
  4. http://craftserve.pl
  5. http://mineserv.eu
  6. http://zabijaka.pl
  7. Jaki jest ich minus ? A właśnie to, że obok twojego serwera stoi duża ilość innych. Jeżeli hosting jest źle zabezpieczony - Tak, jak przydarzyło się to moim znajomym całkiem niedawno na zabijaka.pl - to jest możliwe, że ktoś, wykorzystując przerwę techniczną, zajmie twój port. Dodatkowo - nie dostajemy portu 25565, przez co każdy gracz będzie zmuszony dopisywać go po dwukropku do adresu serwera. No i najważniejsze: Dużo niższa wydajność. Pamiętajcie - ilość ramu pewnie i rośnie wraz z slotami na większości serwerów, jednak z procesorem może być inaczej. Serwery wirtualnie to dobre rozwiązanie na mały serwerek tak do 20 slotów, co w sumie też zależy od hositngu - czasem może to być mniej, czasem więcej. W wypadku VPS'a lub serwera dedykowanego - ten problem znika. Dostajemy własny adres IP oraz mocniejszą maszynę.
  8. Różnica między VPS'em, a serwerem dedykowanym.
  9.  
  10. Główną różnicą jest fakt, że VPS to tak naprawdę wydzielony obszar serwera dedykowanego, gdzie oprócz naszego VPS'a stoi też parę innych. Jest to oczywiście mniejsza ilość serwerów, więc i wydajność jest większa. I to w sumie jest najważniejsze, bo z tego wypływają pozostałe różnice. Warto zaznaczyć, że często podawane parametry VPS'a, to nie licząc RAMu parametry całej maszyny, a nie konkretnego VPS'a. Najogólniej: Serwery dedykowane, są stabilniejsze oraz mocniejsze od VPS'ów, jednak ich cena jest wyższa, a dla wielu serwerów minecraft VPS, może być wystarczający.
  11. Wybór hostingu i maszyny.
  12.  
  13. Osobiście polecam hosting OVH: http://ovh.pl/ jest to duża, międzynarodowa firma, posiadająca serwery dedykowane bardzo dobrej jakości.Co do VPS'ów, to chwilowo trwa zmiana ofery - stara była dość niekorzystna. Jednak nie polecam kupować serwerów dedykowanych kimsufi - jakościowo, są one bardzo kiepskie, lepiej zainwestować w droższego SP 16G lub jakiegoś dobrego VPS'a. Oprócz tego, wartymi uwagi hostingami są:
  14. http://usdc.pl
  15. http://onevps.pl
  16. http://hitme.net.pl
  17. Wybierając serwer dedykowany powinniśmy zwrócić uwagę na 3 rzeczy:
  18. a) Procesor
  19. Najlepiej wybrać Xeona, lub jakiś 4 rdzeniowy i7 czy i5. Mniejsze już mogą sprawiać problemy, przy większej ilości slotów.
  20. b) Pamięć RAM.
  21. Tutaj wiele zależy od ilości slotów i pluginów. Większość hostingów przydziela 64MB na slot. W wypadku małej ilości pluginów może to wystarczyć. Osobiście jednak liczę ok. 128 MB lub nawet 160 MB na slot - często zostaje RAM, nawet przy pełnej ilości slotów, jednak lepiej mieć nadmiar, niż niedomiar. Dodatkowo na serwerze posiadam ponad 50 plugin'ów, nie licząc takich mniejszych jak PermissionEx czy CustomServerMessages, więc wykorzystanie RAM'u jest większe.
  22. c) Dysk twardy.
  23. Dysk twardy także ma znaczenie. Najlepszym rozwiązaniem jest dysk SSD 120 GB - na minecrafta wystarczy spokojnie, a zapewni dużą szybkość i niezawodność. Są one odporniejsze na wstrząsy i znacznie szybsze od standardowych dysków HDD. Jednak są one znacznie droższe i często niedostępne dla słabszych maszyn. Za to bardzo często oferowane są dwa dyski połączone w macierz RAID. Jest to bardzo dobre rozwiązanie. Najczęściej oferowane są RAID 0, RAID 1 oraz RAID 10(zwane też RAID 1+0) - można samemu wybierać jaki układ wykorzystujemy.
  24. RAID 0 - wykorzystuje oba dyski jako magazyny danych, zwiększając wielkość i szybkość proporcjonalnie do ilości dysków w macierzy - dla 2 dysków 2-krotnie, dla 3 dysków 3-krotnie itd.
  25. RAID 1 - łączy dyski w macierz o rozmiarze i szybkości 1 dysku, tworząc na pozostałych kopię danych, która jest tworzona i uzupełniania przez całą pracę serwera. W momencie awarii 1 dysku pojawia się informacja, a system bezproblemowo startuje z innego. Komputer będzie działał tak długo, aż wszystkie dyski nie ulegną awarii.
  26. RAID 10 - jest to połączenie macierzy RAID 1 w RAID 0. Potrzeba tutaj minimalnie 4 dysków. Łączymy je zwykle w pary po 2, każdą parę łączymy jako RAID 0 przez co dostajemy duży wzrost szybkości i rozmiaru, a także bezpieczeństwo RAID 1. Jednak sposoby łączenia zależne są od konfiguracji RAID!
  27. Więcej na ten temat można przeczytać tutaj: http://pl.wikipedia.org/wiki/RAID
  28.  
  29. W wypadku VPS'ów również należy zwrócić uwagę na te elementy, jednak należy doczytać czy hositng podaje parametry przypisane do 1 VPS'a, czy parametry całej maszyny. Dodatkowo bardzo ważnym elementem jest wirtualizacja. Kupując VPS'a pod gry NIE NALEŻY wybierać tych z wirtualizacją OpenVZ - nie nadaje się ona dla takich zastosowań. Zalecam wybór wirtualizacji Xen, Xen HVM lub VMWare. Ich zastosowanie jest droższe, więc ceny takich VPS'ów są wyższe, są jednak one wydajniejsze i bezpieczniejsze.
  30. Połączenie SSH - Instalacja niezbędnych narzędzi oraz pierwsze połączenie.
  31.  
  32. Po kupieniu maszyny, hosting zwykle wysyła na podany przez nas E-Mail hasło do konta root oraz adres IP maszyny. Są to dane do połączenia SSH. Aby tego dokonać musimy posiadać program, który nam to umożliwi, czyli PuTTy lub ZOC Terminal. Poradnik będę opisywał na przykładzie PuTTy. Ufam, że procesu instalacji nie muszę opisywać.
  33. Po uruchomieniu programu wyświetli nam się takie okienko:
  34. 1.png
  35.  
  36. Uzupełniamy pola informacjami z panelu lub wiadomości E-Mail:
  37. Host Name (or IP address): Podajemy adres IP
  38. Port: Wpisujemy 22, jest to domyślny port i zaleca się go zmienić. O tym później.
  39. Naciskamy Open i powinno się pokazać takie okienko:
  40. 2.png
  41. Jest to informacja, że pierwszy raz łączymy się z danym serwerem. Klikamy Tak i klucz zostanie zapisany, więc to okienko już więcej się nie pojawi. Pojawi się czarne okienko z napisem: "Login as:" - wpisujemy root, następnie zostaniemy poproszeni o hasło, wpisujemy takie jakie zostało podane w panelu lub E-Mailu. Mała uwaga: Wpisywanie hasła w konsoli jest całkowicie niewidoczne - nie pokazują się ani gwiazdki, ani nic innego. W tym momencie uzyskaliśmy dostęp do root'a - głównego administratora w systemach typu linux. Zaczniemy od pobrania paru najpotrzebniejszych narzędzi.
  42. a) Screen.
  43. Screen jest programem umożliwiającym uruchomienie minecraft'a w tle. Oznacza to, że możemy uruchomić minecraft'a i zamknąć okno SSH, a serwer nadal będzie działał, a my będziemy mogli wykonywać różne operacje w konsoli. Więcej o tym programie: http://jakilinux.org...creen-sztuczki/
  44. Część dystrybucji oraz hostingów ma go od razu zainstalowanego. Aby to sprawdzić wystarczy spróbować go zainstalować. Instalujemy go pisząc:
  45.  
  46. apt-get updateapt-get install -y screen
  47. Jeżeli jest zainstalowany, to zostanie zaktualizowany lub pojawi się informacja, że jest w najnowszej wersji, jeśli nie jest - zostanie zainstalowany. O samym jego użyciu, będzie później.
  48. b) htop
  49. Jest to proste narzędzie, odpowiednik Menadżera Zadań z Windowsa, umożliwia zamknięcie procesu, który się zawiesił itp.
  50.  
  51. apt-get install -y htop
  52. Używamy go wpisując w konsole htop, wyświetli się taki ekran:
  53. 4.png
  54. Operując strzałkami zjeżdżamy na odpowiedni proces i klikając F9, zabijamy go. UWAGA! Zabijajcie procesy tylko te, które jesteście pewni, że są to odpowiednie procesy! Odradzam uczyć się tego programu metodą prób i błędów. Jeśli chcecie się nim pobawić, możecie zainstalować sobie Ubuntu jako wirtualną maszynę i tam próbować!
  55. c) Java
  56. Jak wiecie, bez tego nie uruchomimy minecraft'a - czy to serwera, czy klienta. Instalacja przebiega w następujący sposób:
  57.  
  58. apt-get install -y python-software-properties
  59. apt-add-repository ppa:webupd8team/java
  60. apt-get update
  61. apt-get install -y oracle-java7-installer
  62. W ten sposób Java została zainstalowana.
  63. Tworzenie użytkownika minecraft oraz zmiana portu SSH.
  64.  
  65. Ze względów bezpieczeństwa i zdrowego rozsądku - nie korzysta się w zwykłym użytkowaniu z konta root'a. Ma ono za dużo uprawnień. Do minecraft'a stworzymy inne konto. Nazwa jest dowolna, ja będę pisał poradnik na przykładzie użytkownika minecraft. Aby stworzyć nowego użytkownika wpisujemy:
  66.  
  67. useradd -m minecraft
  68. Ta komenda stworzy nam tego użytkownika oraz utworzy jego folder domowy. Jeżeli system nie poprosi o hasło, to ustalamy je tą komendą:
  69.  
  70. passwd minecraft
  71. I dwukrotnie podajemy hasło.
  72. Następną rzeczą jaką przyjdzie nam zrobić jest połączenie SFTP. Sposób łączenia jest bardzo podobny do FTP oraz obsługuje go część programów do FTP, m.in. FileZilla. Niestety Total Commander wymaga pluginu do tego połączenia. Jeśli ktoś nie chce korzystać z żadnego z tych programów, a program, którego używa nie obsługuje SFTP może użyć WinSPC. Opiszę ten kro na przykładzie FileZilli:
  73. W wypadku SFTP nie można wykorzystać paska szybkiego łączenia, musimy otworzyć Menadżer Stron i tam skonfigurować połączenie. Aby do niego wejść klikamy ikonę pod menu "Plik":
  74. 6.png
  75. Otworzy się nowe okno, klikamy w nim Nowy Adres, zapisujemy pod jaką nazwą chcemy i uzupełniamy:
  76. 7.png
  77. Proszę pamiętać o zmianie protokołu na SFTP. Po uzupełnieniu klikamy "Połącz". W wypadku pola Typ logowanie zalecam użyć Pytaj o hasło i podawać hasło za każdym razem gdy się łączymy, Cofamy się z folderu root do folderu głównego, wchodzimy do /etc/ssh i otwieramy plik "sshd_config" - powinien to być ostatni plik na liście. Zaczniemy od znalezienia linijki z portem - powinna być to 5 linijka. Ze względów bezpieczeństwa, zmieniamy ją na dowolny wolny port, np. 32112, 45875, 14789 lub inny, który sami sobie wymyślicie. Porty możecie wybierać z liczb z zakresu od 1025 do 65535, zaleca się korzystanie z zakresu rozpoczynającego się od 49152, kończącego na 65535 - są to porty dynamiczne/prywatne. Następnie na samym dole pliku dopisujemy linijkę o takiej treści:
  78.  
  79. AllowUsers minecraft root
  80. Na koniec zmieniamy subsystem, znajdujemy linię(domyślnie 76) rozpoczynającą się tak:
  81.  
  82. Subsystem
  83. I zmieniamy ją całą na taką:
  84.  
  85. Subsystem sftp internal-sftp
  86. Po tym zapisujemy plik i wrzucamy z na serwer.
  87. W konsoli wpisujemy następujące polecenie:
  88.  
  89. service ssh reload
  90. Wracamy do FileZilli i wchodzimy do folderu: /home/minecraft. Odnajdujemy plik .bachrc i na samym dole dopisujemy:
  91.  
  92. alias minecraft='/home/minecraft/minecraft.sh'
  93. Zapisujemy i wrzucamy na serwer.
  94. Instalacja minecraft'a.
  95.  
  96. W tym momencie możemy zamknąć to połączenie i spróbować połączyć się jako użytkownik minecraft. Wystarczy zmienić nazwę użytkownika root w wcześniej ustalonym połączeniu na minecraft, podać odpowiednie hasło i powinno działać. Domyślnie znajdziemy się w folderze: /home/minecraft. Tworzymy w nim folder serwer, a w nim znowu folder serwer. Dlaczego ? Z powodu skryptu, który umożliwi tworzenie komendą w konsoli backup'ów map oraz całego serwera. Po stworzeniu tych powinniśmy się znajdować w: /home/minecraft/serwer/serwer - do tego folderu wklejamy craftbukkit.jar (usuwając z nazwy wersję minecraft i informacje o buildzie) i oczywiście resztę plików jeśli mamy już coś gotowe ;) Po skopiowaniu wracamy do folderu minecraft i wklejamy tam skrypt o którym mówiłem wcześniej: https://dl.dropbox.c...al/minecraft.sh
  97. Skrypt posiada następujące komendy:
  98. run - uruchamia serwer oraz wchodzi w konsole
  99. start - uruchamia serwer bez wchodzenia w konsole
  100. restart - restartuje serwer z wchodzeniem w konsole
  101. rest - restartuje serwer bez wchodzenia w konsole
  102. backup - tworzy kopie całego serwera.
  103. worldbackup - tworzy kopie map
  104. kill - zabija serwer. UŻYWAJ TYLKO GDY SIĘ ZAWIESI!
  105. reset - zabija serwer i uruchamia go ponownie z wejściem w konsole. UŻYWAJ TYLKO GDY SIĘ ZAWIESI!
  106. Skrypt zostanie jeszcze poprawiony wizualnie i aktualizacja zostanie tutaj wgrana ;)
  107. Teraz zamykamy połączenie przez root'a i logujemy się jako minecraft. Próbujemy wpisać komendę minecraft. Jeżeli wyświetla, że nieznana komenda - przeanalizuj cześć z dopisaniem do pliku .bashrc linijki z aliasem. Jeżeli działa, to możesz już spróbować uruchomić swój serwer wpisując minecraft run.
  108. Instalacja MySQL.
  109.  
  110. MySQL to(bo pewnie wolelibyście wiedzieć co instalujecie ;) ) baza danych, niezbędna do działania części plugin'ów(np. LogBlock). Na wstępie pragnę zaznaczyć, że jeżeli nie masz zamiaru korzystać z plugin'u, który wymaga tej bazy do działania, to nie musisz jej instalować - będzie ona tylko zbędnym procesem na maszynie.
  111.  
  112. Musimy ponownie połączyć się przez PuTTy(lub klient SSH, którego używacie) jako root i wpisać następującą komendę:
  113.  
  114. apt-get install -y mysql-server
  115. W czasie instalacji zostaniemy poproszeni o podanie hasła do OSOBNEG konta root dla bazy danych - MySQL ma swoje własne konta, niezależne od tych znajdujących się na maszynie, ich nazwy mogą się pokrywać jednak hasła mogą być różne, a jest to nawet zalecane.
  116. Następnie musimy stworzyć bazę danych i użytkownika, który będzie miał do niej dostęp. Logujemy się jako root do MySQL:
  117.  
  118. mysql -p -u root
  119. Zostaniemy poproszeni o podanie hasła i wejdziemy wtedy do konsoli MySQL. Na wstępie zaznaczam, że wszystkie komendy wpisywane w tej konsoli trzeba zakończyć znakiem średnika - ";" - jeżeli go pominiemy konsola uzna, że chcemy dodać kolejną linijkę tej samej komendy i przerzuci nas do nowego wiersza.
  120. Wpisujemy następujące komendy:
  121.  
  122. CREATE DATABASE minecraft;
  123. GRANT ALL PRIVILEGES ON minecraft.* TO minecraft@'localhost' IDENTIFIED BY 'haslo123';
  124. Pierwsza komenda tworzy bazę danych minecraft, druga nadaje wszystkie uprawnienia do tej bazy użytkownikowi minecraft łączącego się z localhost(uniemożliwia to połączenie się z bazą danych, jeżeli połączenie nie następuje z naszej maszyny) z hasłem "haslo123". Nazwa bazy danych i użytkownika może być inna, jeżeli ktoś chce to może stworzyć bazy danych pod każdy plugin osobno. Wychodzimy z konsoli MySQL:
  125.  
  126. \q
  127. Możemy teraz zamknąć nasze połączenie z SSH. Wszystko powinno działać, można podać informację niezbędne do połączenia w plugin'ie, znajdujemy odpowiednie linijki i uzupełniamy wg. wzoru(uwaga poszczególne nazwy mogą się różnić, jednak to to samo - np. user zamiast username, lub pass zamiast passowrd itp.):
  128.  
  129. host: localhost
  130. port: 3306
  131. username: minecraft
  132. password: haslo123
  133. database: minecraft
  134. Część z was słyszała pewnie - lub używała - phpMyAdmin, jest to narzędzie do zarządzania bazą danych MySQL. Wymaga ono jednak tzw. Apache - serwera HTTP, który umożliwi wykonywanie skryptów php. Nie są one potrzebne do działania naszej bazy danych, dlatego nie będę opisywał ich instalacji - byłby to tylko zbędne procesy na waszej maszynie.
  135. Konfiguracja bukkit'a.
  136.  
  137. Po pierwszym uruchomieniu pojawi nam się sporo plików:
  138. - banned-ips.txt
  139. Plik zawiera listę zbanowanych przez komendę /banip IP.
  140. - banned-players.txt
  141. Plik zawiera listę zbanowanych przez komendę /ban graczy.
  142. - bukkit.yml
  143. Plik z dość ważną konfiguracją serwera. Poniżej jest on dokładnie opisany.
  144. - help.yml
  145. Plik umożliwia zarządzanie wyglądem i treścią bukkitowego /help, więcej tutaj: http://wiki.bukkit.org/Help.yml
  146. - ops.txt
  147. Plik zawiera listę opów serwera. Każdy nick oddzielony jest Enterem. Opy posiadają wszystkie uprawnienia bukkit'a oraz większość uprawnień pluginów(należy o tym doczytać w opisie pluginu)
  148. - permissions.yml
  149. Plik umożliwiia tworzenie własnych node(notek permisji, np. bukkkit.commands.ban) i przypisania do nich innych, zastępując w ten sposób kilka node jedną. Więcej tutaj: http://wiki.bukkit.org/Permissions.yml
  150. - server.log
  151. Zawiera logi serwera.
  152. - server.properties
  153. Plik z dość ważną konfiguracją serwera. Poniżej jest on dokładnie opisany.
  154. - white-list.txt
  155. Gdy jest ona włączona znajduje się tutaj lista graczy, którzy mogą wejść na serwer. Nicki są oddzielane enterem.
  156.  
  157. Teraz omówimy dwa pliki: server.properties oraz bukkit.yml, zaczniemy od server.properties, który po pierwszym wygenerowaniu wygląda tak:
  158.  
  159. #Minecraft server properties
  160. #Mon Feb 11 11:25:49 CET 2013
  161. generator-settings=
  162. allow-nether=true
  163. level-name=
  164. worldenable-query=false
  165. allow-flight=false
  166. server-port=25565
  167. level-type=DEFAULT
  168. enable-rcon=false
  169. level-seed=
  170. server-ip=
  171. max-build-height=256
  172. spawn-npcs=true
  173. white-list=false
  174. spawn-animals=true
  175. snooper-enabled=true
  176. hardcore=false
  177. texture-pack=online-mode=true
  178. pvp=true
  179. difficulty=1
  180. gamemode=0
  181. max-players=20
  182. spawn-monsters=true
  183. generate-structures=true
  184. view-distance=10
  185. motd=A Minecraft Server
  186. Przepraszam za wstawienie niedokończonego - zostanie dokończony jeszcze dziś lub jutro.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement