├── .gitignore ├── ai └── ASTRALIUM_NEURO.md ├── SOFTWARE.md ├── PERFORMANCE.md ├── launcher └── ONLINE_BYPASS.md ├── LEGACY.md └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .idea -------------------------------------------------------------------------------- /ai/ASTRALIUM_NEURO.md: -------------------------------------------------------------------------------- 1 | # AstraliumNeuro • GPT 2 | ## Языковые модели 3 | ### Поддерживаемые модели с кастомизацией (19.09.24) 4 | - Yandex GPT Lite 5 | - Yandex GPT Pro 6 | - Yandex GPT Summarization 7 | - Fusion Brain (Kandinsky) 8 | -------------------------------------------------------------------------------- /SOFTWARE.md: -------------------------------------------------------------------------------- 1 | # Дополнительная информация • SOFTWARE.md 2 | - Здесь будут опубликованы дополнительные письменные/видео материалы, чтобы не засорять основной README.md 3 | 4 | ### Оптимизация сервера 5 | ``` 6 | > CleagLagg - Да, данный плагин может быть полезен для версий 1.12.2 и ниже, но для новых версий он вызывает 7 | куда больше нагрузки, нежели помогает ( PaperMC давно имеет функционал данного плагина, даже на 1.12.2* ) 8 | Отключение или ограничение вагонеток, арморстендов через данный плагин не спасет вас от возможных крашей. 9 | 10 | > Стаккеры мобов в одного моба (Много подобных плагинов) - Даже от них нет особого смысла. 11 | Пейпер давно позволяет нормально оптимизировать мобов, а если мы используем форки по типу фуги или пурпура, 12 | то возможностей куда больше для оптимизации вашего игрового сервера 13 | 14 | > Авто-Очистка лута на земле - Изучите файлики конфигурации Paper / Spigot / Bukkit ядер, но пожалуйста не используйте для этого плагины по типу ClearLagg 15 | 16 | > Платный / Самопис / Студийный паблик плагин - Данное ПО не является аргументом для вашей производительности, 17 | лучше придерживаться уже известных плагинов, а по вашему желанию вы можете их дополнить, т.к большинство из них OpenSource 18 | 19 | > Самописный продукт может превосходить публичные или платные по качеству только в том случае, если программист продумал варианты использования того или иного функционала. Например если у нас играет 1000 игроков и мы будем проверять каждого игрока каждый тик на перемещение по координатам, то наш сервер напросто умрет от нагрузки на основной поток процесса (слишком простой пример, но думаю аналогия понятна). 20 | 21 | > Итоговая рекомендация: Используйте современное ПО и никогда не ставьте бесполезные плагины на стак мобов и прочие 'оптимизаторы' вашего сервера. Все что действительно может быть оптимизировано - реализуется напрямую в ядре, а не в плагинах, которые работают через предоставляемый ядром - API 22 | ``` 23 | 24 | ### Для продуктивной работы неплохо уметь пользоваться некоторыми из следующих продуктов 25 | - __[Dolphin](https://apps.kde.org/ru/dolphin/) | [Yakuake](https://apps.kde.org/ru/yakuake/) | [Konsole](https://apps.kde.org/ru/konsole/) | [Nautilus](https://apps.gnome.org/Nautilus/)__ | __[Termius](https://termius.com/) | [WinSCP](https://winscp.net/eng/download.php)__ | __[Visual Studio Code](https://code.visualstudio.com/)__ 26 | 27 | 28 | # Конец документа 29 | __[Вернуться к главному оглавлению](README.md)__ -------------------------------------------------------------------------------- /PERFORMANCE.md: -------------------------------------------------------------------------------- 1 | # Дополнительная информация о данном PERFORMANCE.md 2 | - Здесь будут опубликованы дополнительные письменные/видео материалы, чтобы не засорять основной README.md 3 | 4 | # Почему ванильные сервера испытывают трудности? 5 | 6 | - Основными причинами потери тиков являются мобы / сущности и, в относительно редких случаях, тикающие фрагменты мира. 7 | - Конечно, патч с новой системой света/чанков от SpottedLeaf был опубликован в новых версиях Paper, но это не означает, что ваш сервер теперь никогда не будет лагать из-за прогрузки/загрузки фрагментов игрового мира. 8 | - Новые фрагменты - наиболее сложны для обработки сервером. Представьте, что 50 игроков вашего сервера загружают новые блоки + мобы и сущности загружают ваш сервер. 9 | 10 | ### Принцип нагрузки MSPT 11 | - Ваш MSPT (миллисекунды на тик) составляет ~ 25-35 из-за количества мобов и сущностей, затем при загрузке новых блоков это может увеличить ваш средний MSPT, например, с 35 до 45-55 или даже до 60-75 на короткое время, а затем вернуться снова. 12 | 13 | ### Что же делать с энтити/мобами и другими тикающими однопоточными объектами? 14 | 15 | - К сожалению, в настоящее время не существует общедоступного стабильного способа перевести всех мобов в многопоточный режим процессора. Конечно, есть разработки от разных разработчиков, но они могут вызвать массу проблем, которые вы, возможно, не исправите в конфигурации или таким образом повредите файлы вашего мира, поэтому они всегда помечаются авторами как: 16 | - Under Heavy Development 17 | - Not recommended for production 18 | - Heavy Alpha 19 | - PreAlpha 20 | - Unstable 21 | 22 | ### Рекомендуемое ПО для серверной части 23 | - __[Получить Adoptium Temurin](https://adoptium.net/)__ 24 | > В 2017 году группа членов Java User Group, разработчиков и поставщиков (Amazon, Microsoft, Pivotal, Redhat и другие) основала сообщество под названием AdoptOpenJDK. С августа 2021 года проект AdoptOpenJDK переехал в новый дом и теперь называется проектом Eclipse Adoptium. 25 | 26 | > Adoptium предоставляет бесплатные, надежные сборки OpenJDK, называемые Eclipse Temurin с более длительной доступностью/обновлениями для различных операционных систем, архитектур и версий. 27 | - __[Получить Fabric](https://fabricmc.net/)__ 28 | > Fabric - это модульный, легкий загрузчик модов для Minecraft 29 | - __[Получить Paper/Folia/Velocity](https://papermc.io/)__ 30 | > Современное программное обеспечение. Разработано для повышения производительности. 31 | 32 | > PaperMC улучшает экосистему Minecraft благодаря быстрому и безопасному программному обеспечению и расширяющемуся API-интерфейсу плагинов, обеспечивая быстрое обновление и полезную поддержку, являясь наиболее широко используемым, производительным и стабильным программным обеспечением из доступных. 33 | - __[Получить ShreddedPaper](https://multipaper.io/shreddedpaper/download.html)__ 34 | > Многопоточная односерверная реализация PaperMC (является форком Purpur) 35 | 36 | ### Скачивание дополнительных ресурсов для вашего Minecraft сервера/клиента 37 | - Моды можно найти [на этой платформе](https://modrinth.com/mods) 38 | - Плагины можно найти [на этой платформе](https://modrinth.com/plugins) 39 | > Открывайте для себя, играйте и делитесь контентом Minecraft с помощью этой платформы с открытым исходным кодом, созданной для сообщества. 40 | 41 | 42 | # Конец документа 43 | __[Вернуться к главному оглавлению](README.md)__ -------------------------------------------------------------------------------- /launcher/ONLINE_BYPASS.md: -------------------------------------------------------------------------------- 1 | # Дополнительная информация о данном ONLINE_BYPASS.md 2 | - Здесь будут опубликованы дополнительные письменные/видео материалы, чтобы не засорять основной README.md 3 | 4 | ### Prism Launcher (Original) 5 | 6 | 1. Запустите лаунчер впервые, чтобы он создал свои директории на вашем компьютере. 7 | 2. В меню «Папки» найдите «Корневую папку лаунчера» и скопируйте путь до неё. 8 | 3. Откройте терминал, командную строку или консоль и выполните команду «echo». 9 | 10 | ```bash 11 | echo '{"accounts": [{"active":true,"entitlement":{"canPlayMinecraft":true,"ownsMinecraft":true},"type":"MSA"}],"formatVersion":3}' > C:Ваш/Путь/До/Папки/Лаунчера/accounts.json 12 | ``` 13 | 14 | 4. Теперь вы можете создавать дополнительные автономные учётные записи. 15 | 5. Нельзя удалять все учётные записи, иначе при попытке добавить новую автономную учётную запись лаунчер попросит вас войти с лицензионной учётной записи. Вам придётся повторить действия, описанные в пункте 3. 16 | 6. В результате мы изменяем файл accounts.json для игры, используя пиратскую учётную запись. 17 | 18 | ### Modrinth Launcher (Original) 19 | - **Пожалуйста, внимательно ознакомьтесь с информацией перед использованием терминальной команды.** 20 | 21 | 1. Запустите лаунчер, чтобы создать директории на вашем компьютере. 22 | 2. Рекомендуем закрыть лаунчер перед внесением изменений в файл JSON. 23 | 3. Откройте терминал, консоль или командную строку и выполните команду «echo». 24 | 25 | - Найдите в тексте формата JSON фразу "username": "YourNickname". 26 | - Это текстовый документ в формате JSON (подробнее можно почитать в интернете). Формат представляет собой пару "ключ": "значение". 27 | - Нас интересует именно значение, его вы должны изменить на свой игровой никнейм. Например, "username": "123_Player_321" или "username": "MC_Pirate". 28 | - Соблюдайте требования к игровым никнеймам, чтобы избежать проблем при дальнейшем взаимодействии с серверами. Неправильный никнейм, например, *&%*@£!@$*(_-%£, может нарушить работу игры. Вы можете использовать цифры от 0 до 9, буквы от a до z и от A до Z, а также символ нижнего подчёркивания (_). 29 | 30 | #### Внимание для Modrinth App v0.8.0+ 31 | - С версии Modrinth v0.8.0+ учётные записи и другие метаданные хранятся в базе данных SQLite и обрабатываются с помощью SQL-запросов. Для доступа к этим данным можно использовать такие приложения СУБД, как DBeaver или DB Browser for SQLite. 32 | 33 | ##### Файл базы данных находится в папке ModrinthApp 34 | - Appdata/Roaming на Windows; 35 | - Library/Application Support на MacOS. 36 | 37 | ```bash 38 | echo '{"users":{"9ce7ca25-dd82-4e94-8066-cb255cf019b2":{"id":"9ce7ca25-dd82-4e94-8066-cb255cf019b2","username":"YourNickname","access_token":"null","refresh_token":"null","expires":"2077-12-12T00:12:34.999999Z"}},"default_user":"9ce7ca25-dd82-4e94-8066-cb255cf019b2"}' > C:Ваш/Путь/До/Папки/Лаунчера/caches/metadata/minecraft_auth.json 39 | ``` 40 | 41 | 4. Теперь у вас есть возможность устанавливать и играть в различные сборки Minecraft. Однако в самом лаунчере нельзя изменить игровой ник. Поэтому вы можете либо напрямую редактировать файл minecraft_auth.json, либо каждый раз выполнять определённую команду. 42 | 5. В итоге мы изменяем файл minecraft_auth.json, чтобы играть с пиратского аккаунта. Этот файл находится в корневой папке лаунчера в каталоге caches/metadata/minecraft_auth.json. 43 | 44 | # Конец документа 45 | __[Вернуться к главному оглавлению](../README.md)__ -------------------------------------------------------------------------------- /LEGACY.md: -------------------------------------------------------------------------------- 1 | # Дополнительная информация • LEGACY.md 2 | - Здесь будут опубликованы неактуальные команды/утилиты, чтобы не засорять главную страницу документации. 3 | 4 | ### Неактуальные пакеты 5 | ``` 6 | - ~ufw - Управление Firewall'ом IPTables, только проще 7 | - ~firewalld - Управление Firewall'ом IPTables, только проще 8 | - ~zip unzip - Утилита для архивации/разархивации файлов в .zip (рекомендую tarball'ы (.tar.gz)) 9 | - ~iptables - Полезная утилита для настройки Netfilter & FireWall вашей системы 10 | - ~iptraf-ng - Мониторинг сети 11 | - ~atop - Считайте практически идентичным ПО, что и утилита выше 12 | - ~~gtop - Считайте практически идентичным ПО, что и утилита выше 13 | - ~fontconfig - Данный пакет шрифтов может потребоваться для некоторых утилит* 14 | ``` 15 | 16 | ### Специально для CentOS 8 (Не поддерживается автором статьи) 17 | ``` 18 | yum 19 | 20 | yum update 21 | 22 | yum upgrade 23 | 24 | dnf 25 | 26 | sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm 27 | 28 | dnf install htop 29 | 30 | dnf install screen 31 | ``` 32 | 33 | ### Oracle Cloud установка под Minecraft 34 | ``` 35 | # Использование с UFW утилитой 36 | sudo ufw enable # <- По умолчанию он выключен, поэтому его следует включить. 37 | sudo ufw allow 25565 comment "Данный порт открыт по UDP/TCP протоколам для всех входящих соединений" 38 | sudo ufw reload # <- На всякий случай. 39 | 40 | # Использование с FIREWALLD утилитой 41 | sudo apt install firewalld # <- Установка пакета не требуется, если вы установили его в начале этой статьи. 42 | sudo firewall-cmd --permanent --zone=public --add-port=25565/tcp 43 | sudo firewall-cmd --permanent --zone=public --add-port=25565/udp 44 | sudo firewall-cmd --reload # <- Обычно он всегда требует перезагрузки для того, чтобы новые правила вступили в силу. 45 | 46 | # < ! > Обратите особое внимание во избежание утраты доступа к вашей Linux машине < ! > 47 | # По умолчанию FIREWALLD и UFW утилиты закрывают все порты, конечно в них имеются исключения для 22/tcp порта, 48 | # Однако в любом случае рекомендуется вручную открыть OpenSSH порт. 49 | # Использование в UFW и FIREWALLD: 50 | 51 | # sudo ufw allow 22/tcp comment "Порт для использования удалённого подключения к данной машине по SSH протоколу" 52 | # sudo firewall-cmd --permanent --zone=public --add-port=25565/tcp 53 | # sudo firewall-cmd --reload # <- Обычно он всегда требует перезагрузки для того, чтобы новые правила вступили в силу. 54 | 55 | ``` 56 | 57 | ### "WinRar" - Известный архиватор, но для Linux (Лучше использовать tar) 58 | ``` 59 | # Установка 60 | apt install zip unzip 61 | 62 | # Там где нужно будет создать архив - у меня это папку /home 63 | cd home 64 | 65 | # Архивирование папки/файла | Можно находиться в любом пути (Вы указываете конкретно путь до папки/файла , который нужно заархивировать) 66 | zip -r NAME.zip /home/BungeeCord 67 | 68 | # Для примера в моем случае 69 | # /home - дирректория папки с сервером 70 | # /BungeeCord - сама папка с банджей, можно любую например: Survival, Anarchy, SkyBlock. 71 | 72 | zip -r surv.zip /home/Survival 73 | 74 | # Если имеется SkyBlock папка с сервером, то введите эту команду 75 | # Указывать можно любой сервер, также вы можете например хранить сервер по пути /servers/BungeeCord 76 | # Не обязательно использовать /home раздел для серверов! 77 | 78 | zip -r sb.zip /home/SkyBlock 79 | 80 | # Либо используйте встроенный tar 81 | ``` 82 | 83 | ### IPTables (UFW/FIREWALLD) - Закрытие порта SSH, SFTP (22) + ICMP DROP 84 | 85 | - На самом деле не рекомендую делать такое с динамическим IP, иначе вы рискуете потерять доступ к вашей серверной машине 86 | 87 | ``` 88 | # Быстродействие (Без закрытия SSH порта): 89 | # sudo apt install ufw && sudo ufw allow 22/tcp && sudo nano /etc/ufw/before.rules 90 | # Для before.rules: 91 | 92 | # ok icmp codes for INPUT 93 | -A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT 94 | -A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT 95 | -A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT 96 | -A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT 97 | 98 | # ИЗМЕНИТЬ НА СЛЕДУЮЩЕЕ ЗНАЧЕНИЯ ufw-before-input 99 | # ok icmp codes for INPUT 100 | -A ufw-before-input -p icmp --icmp-type destination-unreachable -j DROP 101 | -A ufw-before-input -p icmp --icmp-type time-exceeded -j DROP 102 | -A ufw-before-input -p icmp --icmp-type parameter-problem -j DROP 103 | -A ufw-before-input -p icmp --icmp-type echo-request -j DROP 104 | 105 | # Сохраняем конфигурацию через наш nano редактор (CTRL X + Y + ENTER) 106 | # Перезагружаем UFW 107 | 108 | sudo ufw reload 109 | 110 | # Теперь все пинги блокируются извне 111 | 112 | # Ниже представлена информация из документации v2.0 (Прошлая) 113 | 114 | # Базовые настройки IPTables | Запрет пинга на ваш дедик | Запрет входа с других айпи по SSH (только ваш) 115 | 116 | iptables -A INPUT -s IP/32 -p icmp -j DROP 117 | 118 | # Или через FirewallD 119 | 120 | sudo firewall-cmd --add-icmp-block=echo-request --permanent 121 | 122 | # Разрешить свой айпи для входа через SSH,SFTP - ПУНКТ ДЕЛАТЬ ПЕРВЫМ ИЗ ВСЕХ! 123 | 124 | iptables -A INPUT -p tcp --dport 22 -s YourIP -j ACCEPT 125 | 126 | # Дропнуть порт 22 (aka SSH, SFTP). < ! > ДЕЛАТЬ ПОСЛЕ РАЗРЕШЕНИЯ < ! > 127 | 128 | iptables -A INPUT -p tcp --dport 22 -j DROP 129 | 130 | # Установка 131 | 132 | apt-get install iptables-persistent 133 | # Можно обойтись без этого и просто настроить восстановление правил IPTables через crontab :) 134 | 135 | # Правила iptables необходимо создать, затем выполнить следующую команду 136 | 137 | service iptables-persistent start 138 | 139 | # Поскольку утилита является демоном — прекратить ее работу нельзя, однако можно очистить список правил 140 | 141 | service iptables-persistent flush 142 | 143 | # Обновить правила, если persistent уже был установлен 144 | 145 | dpkg-reconfigure iptables-persistent 146 | ``` 147 | 148 | ### IPTables - Закрытие портов на нескольких серверных машинах 149 | 150 | - Здесь вы подробно узнаете как легко и быстро закрыть порты 151 | 152 | ``` 153 | # Представим что у нас есть два сервера VDS / VPS 154 | # Первый сервер под маркой X - Это у нас будет Proxy сервер (Фильтр различных ботов, пакетов (TCP)) 155 | # Второй сервер под маркой Y - Это у нас будет Survival сервер (Основное выживание) 156 | # На сервере X пропишите следующие команды в данном порядке, как они даны (Свреху вниз) 157 | 158 | iptables -A INPUT -s -j ACCEPT 159 | iptables -A INPUT -s 127.0.0.1 -j ACCEPT 160 | 161 | # На сервере Y пропишите следующие команды в данном порядке, как они даны (Сверху вниз) 162 | 163 | iptables -A INPUT -p tcp -s --dport -j ACCEPT 164 | iptables -A INPUT -p tcp --dport -j DROP 165 | 166 | # После манипуляций на каждом VDS / VPS нужно ввести данную команду 167 | 168 | apt install iptables-persistent 169 | 170 | # Если у вас он уже был установлен, то просто обновите правила используя команду 171 | 172 | dpkg-reconfigure iptables-persistent 173 | 174 | 175 | # Если хотите можете также ознакомиться со списком ваших правил iptables на каждой из виртуальных машин 176 | 177 | iptables --list 178 | 179 | # Узнать номера всех правил 180 | 181 | iptables -L --line-numbers 182 | 183 | # Удалять правила можно следующим способом 184 | 185 | iptables -D INPUT ЧИСЛО 186 | ``` 187 | 188 | 189 | # Конец документа 190 | __[Вернуться к главному оглавлению](README.md)__ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![AstGuide.png](https://i.imgur.com/vQ8j1NO.png) 2 | 3 | # Вступление AstralDocs • Специальное пособие/шпаргалка для быстрых действий 4 | ## Версия документа v3.5 от 27.07.2024 5 | 6 | # Доступные разделы репозитория 7 | 8 | - [SOFTWARE.md](SOFTWARE.md) • 9 | - [PERFORMANCE.md](PERFORMANCE.md) • 10 | - [LEGACY.md](LEGACY.md) • Устаревшая информация 11 | - [launcher/ONLINE_BYPASS.md](launcher/ONLINE_BYPASS.md) • Лаунчеры Minecraft без авторизации Mojang/MSA 12 | 13 | # Дополнительная информация о данном README.md 14 | 15 | - Данная статья рассчитана на настройку под Ubuntu / Debian. Основные рекомендации также могут быть применены для ARM 16 | систем. 17 | - Если у вас Arch Linux или другие Unix подобные системы - пожалуйста ознакомьтесь с документацией по установке 18 | пакетов на эту ОС или поищите альтернативные пакеты. 19 | 20 | 21 | - ⚠️ Для AUR репозиториев настоятельно рекомендуется проверять исходники скрипта установки. В любом случае это 22 | рекомендуется делать и для других репозиториев. 23 | 24 | 25 | - ⚠️ Некоторые функции могут работать неправильно или вовсе не работать на вашей системе. 26 | 27 | ### Ссылки на нас 28 | - [Наш Telegram](https://astralium.su/f/telegram/astralium) 29 | - [Наш Discord](https://astralium.su/f/discord/astralium) 30 | - [Наш Сайт](https://www.astralium.su) 31 | - [Наш Github](https://astralium.su/f/github/astralium) 32 | 33 | # Настройка вашего Linux сервера 34 | 35 | ### Основное 36 | 37 | - Основные рекомендуемые компоненты для вашей системы Linux. 38 | В основном все команды выполняются от `root` пользователя или с помощью `sudo` *(Если `sudo` отсутствует на вашей 39 | системе, то установите его через `apt` / `pamac` / `pacman` или альтернативную команду на вашей системе)* 40 | - Для навигации по большинству терминальных команд вы можете использовать утилиту `man`, например `man man` расскажет что такое man 41 | ``` 42 | NAME 43 | man, apropos, whatis – display online manual documentation pages 44 | 45 | SYNOPSIS 46 | man [-adho] [-t | -w] [-M manpath] [-P pager] [-S mansect] [-m arch[:machine]] [-p [eprtv]] [mansect] page ... 47 | ``` 48 | - Некоторые команды не имеют документации, но возможно к ним можно обратиться через аргумент --help, например `man --help` 49 | ``` 50 | Usage: 51 | man [-adho] [-t | -w] [-M manpath] [-P pager] [-S mansect] 52 | [-m arch[:machine]] [-p [eprtv]] [mansect] page [...] 53 | man -f page [...] -- Emulates whatis(1) 54 | man -k page [...] -- Emulates apropos(1) 55 | ``` 56 | 57 | ### Обновление пакетов машины 58 | 59 | - Для Ubuntu / Debian и форков этих систем -> `sudo apt update -y && sudo apt upgrade -y` 60 | 61 | 62 | - Для Arch Linux и форков этой системы -> `sudo pamac update --no-confirm && sudo pamac upgrade --no-confirm` 63 | 64 | ### Полезные утилиты для вашего сервера 65 | 66 | - htop - Утилита для мониторинга всех запущенных процессов 67 | - screen - Важная утилита для создания сессий на вашей серверной машине 68 | - nftables - Управление Netfilter & FireWall системы (рекомендую) 69 | - nload - Мониторинг сети в виде графика 70 | - vnstat - Мониторинг сети с выводом скорости и пакетов (рекомендую) 71 | - wireshark - Продвинутое ПО для мониторинга трафика ваших сетевых интерфейсов с возможностью создания дампов .pcap ( 72 | рекомендую) 73 | - smartmontools - Позволяет протестировать оборудование системы (физические накопители HDD, SDD) (рекомендую) 74 | - dnsutils - Управление DNS (Может потребоваться для некоторых утилит) 75 | - neofetch - Утилита для красивого отображения вашей ОС и некоторых параметров 76 | - haproxy - Продвинутое реверсивное прокси, которое балансирует нагрузку — распределяет входящие запросы на несколько серверов для обеспечения высокой доступности. (рекомендуется для продуманных серверных связок) 77 | - mariadb - Реляционная база данных, которая является улучшенной версией MySQL (рекомендуется для medium-high Проектов) 78 | - postgresql Реляционная база данных, которая превосходит многие существующие по производительности и функциональности (рекомендуется вместо mariadb для полноценных глобальных Проектов) 79 | 80 | 81 | ### Удобная установка стартовых пакетов с nftables 82 | 83 | - `sudo apt update -y && sudo apt upgrade -y && sudo apt install htop screen nftables nload neofetch vnstat smartmontools -y` 84 | 85 | # Установка Java на вашу серверную машину 86 | 87 | - Вы научитесь легко и просто устанавливать или удалять Java на вашей системе 88 | - Для начала зайдите в SFTP клиент и перейдите в раздел ~/opt (Можно любой, но этот в качестве основы) 89 | - В Linux изначально придумана команда для упаковки архивов и распаковки архивов 90 | - Использовать команду tar можно с использованием следующих параметров: 91 | 92 | ``` 93 | -c | --create — создать архив 94 | -a | --auto-compress — дополнительно сжать архив с компрессором который автоматически определить по расширению архива. 95 | -r | --append — добавить файлы в конец существующего архива 96 | -x | --extract, --get — извлечь файлы из архива 97 | -f | --file — указать имя архива 98 | -t | --list — отобразить список файлов и папок в архиве 99 | -v | --verbose — выводить список обработанных файлов 100 | -u | --update — Обновить архив новыми файлами 101 | -d | --diff, --delete — Проверить начилие архивов, удалить файл из архива 102 | ``` 103 | 104 | - Пример перемещения файлов по системе Linux 105 | 106 | ``` 107 | < ! > НЕ ОБЯЗАТЕЛЬНЫЕ КОМАНДЫ < ! > 108 | 109 | • mv /home/others/Test /others2 110 | 111 | Также вы можете использовать флаг* -v чтобы увидеть подроную информацию о процессе 112 | ~ — тильда, дает понять системе, что это корневой каталог root (~) 113 | Пример: Вы юзер test, то при вводе cd, вы попадете в каталог /home/test/ 114 | Т.е ~/others2 и т.д 115 | 116 | • mv -v ~/home/others/Test ~/others2 117 | 118 | Вы можете также использовать приставку sudo к команде mv 119 | 120 | Теперь вы знакомы с командой для перемещения файлов, но рекомендуется еще раз закрепить материал 121 | Попробуйте данные команды на каком-то пустом сервере, либо можете установить WSL2 на вашу систему 122 | Рекомендуемый дистрибутив ОС для создания Проектов (Серверов) — Ubuntu, Debian 123 | ``` 124 | 125 | ### Начало процесса установки Java на ваш Linux сервер 126 | 127 | - Установка и распаковка архива при помощи "tar" — встроенная утилита упаковки/распаковки архива с файлами в Unix 128 | системах (Debian / Ubuntu / MacOS точно) 129 | 130 | ``` 131 | Архив уже должен быть установлен / перемещен в выбранную вами директорию 132 | Чтобы установить архив, вы можете использовать в качестве передачи файлов SFTP приложения на выбор 133 | WinSCP / FileZilla / Dolphin (KDE) / Nautilus (GNOME) / Termius, либо же скачать сразу из консоли - wget 134 | 135 | • curl https://api.papermc.io/v2/projects/paper/versions/1.20.2/builds/246/downloads/paper-1.20.2-246.jar -o paper.jar 136 | 137 | Теперь давайте его распакуем — после распаковки появится папка с нашей Java 138 | 139 | • tar -xvf archive.tar.gz 140 | 141 | Например архив с Java называется: 142 | Скачиваем к примеру Adoptium JDK Java 17 под x86 / arm (ex: aarch64) платформу (Ubuntu, Debian, Arch, MacOS) 143 | 144 | Быстрая установка Adoptium Temurin Java Development Kit 17 145 | • cd /opt && sudo wget https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.6%2B10/OpenJDK17U-jdk_x64_linux_hotspot_17.0.6_10.tar.gz && tar -xvf OpenJDK17U-jdk_x64_linux_hotspot_17.0.6_10.tar.gz && ln -svf /opt/jdk-17.0.6+10/bin/java /usr/bin/java && java -version 146 | 147 | < ! > Название архива может быть иное < ! > 148 | Информацию об установке Java ниже можете не применять при вводе команды выше. 149 | Для распаковки архива потребувется ввести всего одну команду (Уже применена в примерной установке выше): 150 | 151 | • tar -xvf OpenJDK17U-jdk_x64_linux_hotspot_17.0.6_10.tar.gz 152 | 153 | • sudo wget 154 | 155 | Из примера выше 156 | Команда для терминала -> curl https://api.papermc.io/v2/projects/paper/versions/1.20.2/builds/246/downloads/paper-1.20.2-246.jar -o paper.jar 157 | 158 | В нашем случае это не PaperMC, а Java, поэтому: 159 | • sudo wget https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.6%2B10/OpenJDK17U-jdk_x64_linux_hotspot_17.0.6_10.tar.gz 160 | 161 | Также можно использовать утилиту CURL, заместо WGET 162 | • sudo curl -o 163 | 164 | Все версии Java доступны по этой ссылке: https://github.com/orgs/adoptium/repositories 165 | Мы рекомендуем использовать LTS релизы JDK 17 версии 166 | 167 | 168 | Если вы сделали всё правильно, то теперь вы получите информацию о вашей Java при вводе данной команды: 169 | • java -version 170 | ``` 171 | 172 | ### Создание "Линка" для нашего файла Java в папке с самой Java 173 | 174 | - Вы можете подробно изучить про команду ln и ее параметры 175 | 176 | ``` 177 | Линки — тоже самое что ярлык, те кто когда либо имели систему Windows / MacOS 178 | Могут знать про создание ярлыка при помощи клика ПКМ по файлу 179 | Но у нас ведь нет интерфейса, поэтому будем использовать команду "ln" 180 | *Кстати можно делать линки также через WinSCP — Клиент SFTP, FTP . . . 181 | Создаем ярлык (линк) для нашего исполняемого файла 182 | 183 | Выполните команду: 184 | Заместо ... пишем название папки с Java — /opt/.../bin/java 185 | 186 | • ln -svf /opt/.../bin/java /usr/bin/java 187 | 188 | Если вы все сделали правильно, то вы успешно установили Java на вашу машину 189 | Проверить активную Java 190 | • java -version 191 | 192 | Если вам вывело информацию о версии (Обычно это 2-3 строки), то все успешно. 193 | Иначе, проверяйте под какую архитектуру вы скачали JDK архив. 194 | ``` 195 | 196 | ### Удаление Java с нашего сервера 197 | 198 | ``` 199 | Мы не будем использовать бесполезные команды по типу: `sudo apt remove *java*` 200 | Для начала перейдем в корень сервера ~ 201 | Далее переходим по пути ~/usr/bin 202 | Используем удобный вам способ для поиска файлов — мне было удобно через WinSCP Клиент 203 | Находим файл "Java" — он должен быть единственный в данной директории! 204 | Спокойно без боязни удаляем его — Готово вы удалили активную Java с вашего сервера, однако 205 | Она все еще существует как папку и архив по пути ~/opt 206 | Можно сделать это через команды 207 | 208 | • cd /usr/bin && sudo rm java 209 | 210 | Проверить наличие активной Java, можно введя команду 211 | 212 | • java -version 213 | 214 | При успехе, у вас должно вывести ошибку. 215 | ``` 216 | 217 | ### Настройка безопасного входа на сервер - Linux 218 | 219 | ``` 220 | В качестве альтернативы простым паролям, мы будем использовать Rsa_Keys с форматом шифрования SHA 221 | Открываем приложение основной терминал системы (Kosnole, Yakuake или любой другой.) 222 | 223 | • ssh-keygen # По умолчанию генерирует 2048 Битный ключ 224 | 225 | • ssh-keygen -b 4096 # Генерация ключа с мощностью 4096 Бит (Лучше чем 2048) 226 | • ssh-keygen -b 8192 # Генерация ключа с мощностью 8192 Бит (Лучше чем 4096) 227 | 228 | Далее внимательно читаем логи, вы уже почти создали пару ключей на вашем ПК ~/users/ВашЮзер/.ssh 229 | Чтобы передать ключ на наш сервер, воспользуемся данной командой (Вам потребуется войти с использованием "старого" пароля) 230 | Однако, мы всегда можем делать это вручную, но можно и через команду ниже: 231 | 232 | • cat ~/.ssh/id_rsa.pub | ssh USER@IP "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys" 233 | 234 | < ! > Подсказка для всех < ! > 235 | Если вы не хотите использовать такой способ авторизации, то установите очень сильный, надежный, ультра мега крутоооой пароль :) 236 | Самое главное не палите своего юзера, ведь только тогда вас не будут брутить, 237 | Т.к попросту не будут знать пользователя для старта брутфорса. 238 | В таком случае рекомендую использовать Firewall. 239 | Давайте все же перейдем к нашим RSA ключикам. 240 | Вы можете вручную просто вписать информацию из публичного RSA ключа в '~/.ssh/authorized_keys' 241 | На своем устройстве получите информацию из файлы id_rsa.pub, например cat id_rsa.pub 242 | Впишите данную информацию из файла id_rsa.pub в файл authorized_keys вашего юзера Linux '~/.ssh/authorized_keys' 243 | При использовании данного способа, пожалуйста соблюдайте бдительность, чтобы ничего не сломать в вашей системе 244 | 245 | Останется ввести только и вы примените изменения из подсказки выше: 246 | • sudo systemctl restart ssh 247 | 248 | 249 | ... USER@IP ... 250 | Подставьте ваши данные заместо шаблона 251 | USER — Логин, ваш пользователь на серверной машине 252 | IP — Ваш IP от серверной машины 253 | 254 | 255 | ВНИМАНИЕ! Мы начинаем отключать парольную аутентификацию на сервере, будьте аккуратны 256 | *Автор не несет ответвенности, если вы вдруг сломаете вход на вашу серверную машину, 257 | Обязательно создавайте бэкапы ваших игровых серверов* 258 | 259 | Перед этим убедитесь, что у вас установлены пакеты: 260 | 261 | • apt install sudo 262 | • apt install nano или apt install vim 263 | 264 | sudo — Нужно использовать если у вас основной user != root 265 | nano — Удобный редактор текста в терминате 266 | vim — Редактор немного посложнее, но если освоитесь - будет очень удобно его использовать 267 | 268 | Как сохранить файл через nano 269 | CTRL + X , Y (yes), ENTER 270 | 271 | Как сохранить файл через vim 272 | После открытия файла 273 | • vim file.txt 274 | Для ввода информации нажмите I (i), у вас появтся надпись снизу слева --INSERT-- или --ВСТАВКА-- 275 | После чего заносите любую информацию в файл и нажимаете: 276 | CTRL C, далее пишите :wq 277 | :wq запишет и закроет файл. 278 | :q! просто закроет файл. 279 | Подробнее в документации к vim или nano. 280 | 281 | Готово, теперь вы умеете сохранять файлы, но все таки перейдем к отключению парольной авторизации 282 | Вводим команду: 283 | 284 | • sudo nano /etc/ssh/sshd_config 285 | 286 | Вам нужно найти или написать данную строчку: 287 | 288 | PasswordAuthentication no 289 | 290 | После сохраняем файл (Мы используем nano в качестве редактора текстовых файлов) 291 | Далее нам необходимо перезагрузить SSH клиент 292 | < ! > Советуем проверить доступ к SSH < ! > 293 | Вернитесь в PowerShell и введите 294 | 295 | • ssh USER@IP 296 | 297 | • ssh USER@IP -i ./ключ 298 | 299 | Если вы пытаетесь зайти через GNU Linux, то используйте команду ниже 300 | 301 | • sudo ssh USER@IP -i 302 | 303 | ... USER@IP 304 | Подставьте ваши данные заместо шаблона 305 | USER — Логин, ваш пользователь на серверной машине 306 | IP — Ваш IP от серверной машины 307 | 308 | Далее если все хорошо, перезагружаем ssh 309 | 310 | • sudo systemctl restart ssh 311 | 312 | Готово, теперь зайти на вашу серверную машину через пароли не получится, используем только ключи авторизации (rsa) 313 | 314 | Для удобства входа через пароли можете использовать пакет данных sshpass 315 | ``` 316 | 317 | ### Различные команды и бенчмарки, которые возможно вам понадобятся 318 | 319 | ``` 320 | В основном подойдет для мониторинга и наблюдения за жизнедеятельностью вашей серверной машины 321 | Информация по системе 322 | 323 | Скорость интернета на вашем сервере (Установка + автозапуск) 324 | • sudo apt install speedtest-cli && speedtest-cli 325 | 326 | Через бенчмарк 327 | • sudo wget -qO- bench.sh | bash 328 | 329 | Информация о системе (Установка + автозапуск) 330 | • sudo apt install neofetch && neofetch 331 | 332 | Встроенные Linux команды (Примеры) 333 | • lscpu 334 | • lspci 335 | • uname -a 336 | 337 | ``` 338 | 339 | # NFTables Мануал по базовому использованию и аргументам 340 | 341 | ``` 342 | 343 | • nft -a list ruleset - посмотреть весь список таблиц, цепочек и правил с их хендлами 344 | • nft add table inet/ip/ip6 filter - добавить таблицу (создать) inet (ipv4+ipv6) / ip (ipv4) / ip6 (ipv6) filter (название таблицы) 345 | • nft delete table inet filter - удалить таблицу filter 346 | • nft add chain inet filter Name - создать пустую цепочку (не рекомендуется) 347 | • nft add chain inet filter Name { type filter hook input/output priority 0/1/2... \; policy accept \; } - как пример мы можем создать цепочку правил на вход или выход (input/output соответственно с приоритетами (ниже - главнее) и разрешающей политикой для входа пакетов 348 | • nft add chain inet filter Name { policy drop \; } - изменить политику цепочки на дроп пакетов (опасно, прежде чем добавлять данную политику на input и output необходимо разрешить SSH соединение для дальнейшего управления серверной машинокй, иначе вы потеряете доступ к машине и потребуется вход в рекавери режим или удаленную консоль (например, как у Hetzner Cloud) 349 | • nft add rule inet filter Name iifname "eth0" tcp dport 25565 accept/drop - мы разрешим или дропнем пакеты при подключении к порту 25565 TCP на интерфейсе eth0 350 | 351 | Разрешаем входящие подключения к tcp и udb портам 352 | Разрешим подключаться к серверу по ssh, но только со своего компьютера: 353 | 354 | • sudo nft add rule inet filter input iifname eth0 ip saddr 172.28.80.14 tcp dport 22 counter accept 355 | То есть мы добавляем правило (addr rule) в таблицу filter и в цепочку input (inet filter input). 356 | Описываем правило: 357 | Для аргумента входящего интерфейса eth0 (iifname eth0), 358 | Для аргумента адреса источника 172.28.80.14 (ip saddr 172.28.80.14) 359 | Для аргумента tcp порта назначения 22 (tcp dport 22). 360 | Дальше указываем действия: 361 | Чтобы команда nft list ruleset показывала счетчик пакетов, которые проходят правило, добавляем counter, 362 | разрешаем прохождение таких пакетов (accept). 363 | После чего мы можем посмотреть отображение нашего правила или правил с помощью nft list 364 | • nft -a list ruleset 365 | В своих правилах вы можете использовать следующее: 366 | 367 | ip saddr — исходящий ip адрес; 368 | ip daddr — ip адрес назначения (в цепочки input является адресом сервера к которому идет подключение); 369 | tcp sport <порт> — исходящий tcp порт; 370 | tcp dport <порт> — порт tcp назначения (в цепочки input является портом сервера к которому идет подключение); 371 | udp sport <порт> — исходящий udp порт; 372 | udp dport <порт> — порт udp назначения; 373 | iifname <имя интерфейса> — имя входящего интерфейса; 374 | oifname <имя интерфейса> — имя исходящего интерфейса. 375 | В примере разрешаем подключаться к сервисам только из локальной сети: 376 | 377 | • sudo nft add rule inet filter input iifname eth0 ip saddr 172.28.80.0/24 tcp dport {80, 443} counter accept 378 | Разрешаем подключаться к loopback интерфейсу 379 | Для того чтобы сервисы внутри системы могли нормально работать, обязательно нужно разрешить все подключения к loopback интерфейсу: 380 | 381 | • sudo nft add rule inet filter input iifname lo counter accept 382 | Разрешаем ping сервера 383 | Разрешим пинговать наш сервер, другими словами разрешим входящие icmp запросы: 384 | 385 | • sudo nft add rule inet filter input ip saddr 172.28.80.0/24 icmp type echo-request counter accept 386 | Чтобы разрешить icmp нужно указать протокол и тип запроса: 387 | 388 | icmp type echo-request — когда кто-то пингует наш сервер ему посылаются запросы (echo-request); 389 | icmp type echo-reply — когда наш сервер кого-то пингует то в ответ он получает ответы (echo-reply). 390 | Меняем политику цепочки input 391 | После того как мы добавили все разрешающие правила в цепочке input, поменяем её политику на drop: 392 | 393 | • sudo nft add chain inet filter input '{ policy drop; }' 394 | То есть смена политик выполняется таким образом: 395 | 396 | • nft add chain <семейство> <цепочка> <таблица> ‘{ policy accept; }’ — разрешающая политика; 397 | • nft add chain <семейство> <цепочка> <таблица> ‘{ policy drop; }’ — запрещающая политика. 398 | 399 | Также рекомендую всегда добавлять следующие условия/аргументы в фаерволл системы 400 | iifname "lo" accept - разрешаем локальный трафик для избежания конфликтов в системе в случае, если у нас policy drop 401 | ct state established,related,new accept - разрешаем коннтрейкинг стейты на уже созданные, новые соединения 402 | 403 | В общем говоря, если вы блокируете весь входящий трафик, то вы должны вручную разрешать и настраивать вашу сеть под все ваши сервисы, 404 | поскольку любые блокировки входящего / исходящего трафика для нужного ПО могут повлиять на стабильную работы вашей системы 405 | 406 | Сохранение правил и последующая их загрузка системой при ребуте или перезагрузке службы nftables: 407 | • echo '#!/usr/sbin/nft -f' > /etc/nftables.conf && echo 'flush ruleset' >> /etc/nftables.conf && nft list ruleset >> /etc/nftables.conf 408 | 409 | Чтобы включить автоматическое сохранение правил и восстановление после запуска вашей системы, пропишите следующую команду 410 | • sudo systemctl enable nftables.service && sudo systemctl start nftables.service && sudo systemctl status nftables.service 411 | ``` 412 | 413 | ### SQL Мануал по базовому использованию и простым командам на SQL языке 414 | 415 | ``` 416 | Установка MySQL 417 | • sudo apt install mysql-server 418 | 419 | Установка MariaDB (Лучше чем MySQL, является его форком) 420 | • sudo apt install mariadb-server 421 | 422 | Вход в саму БД 423 | • sudo mysql 424 | 425 | Создать БД 426 | • CREATE DATABASE IF NOT EXISTS DATABASE_NAME; 427 | 428 | Удалить БД 429 | • DROP DATABASE IF EXISTS DATABASE_NAME; 430 | 431 | Список БД 432 | • SHOW DATABASES; 433 | 434 | Создать юзера 435 | • CREATE USER IF NOT EXISTS 'DATABASE_USER'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'DATABASE_USER_NEW_PASSWORD'; 436 | 437 | Создать юзера для MariaDB 438 | • CREATE USER IF NOT EXISTS 'DATABASE_USER'@'localhost' IDENTIFIED BY 'DATABASE_USER_NEW_PASSWORD'; 439 | 440 | Изменить пароль юзеру 441 | • ALTER USER 'DATABASE_USER'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'DATABASE_USER_NEW_PASSWORD'; 442 | 443 | Изменить пароль юзеру для MariaDB 444 | • ALTER USER 'DATABASE_USER'@'localhost' IDENTIFIED BY 'DATABASE_USER_NEW_PASSWORD'; 445 | 446 | Удалить юзера 447 | • DROP USER IF EXISTS 'DATABASE_USER'@'localhost'; 448 | 449 | Список юзеров 450 | • SELECT user, host FROM mysql.user; 451 | 452 | Выдать права юзеру на определенную БД 453 | • GRANT ALL PRIVILEGES ON database_name.table_name TO 'DATABASE_USER'@'localhost'; 454 | 455 | Выдать все права юзеру на все БД 456 | • GRANT ALL PRIVILEGES ON *.* TO 'DATABASE_USER'@'localhost'; 457 | 458 | Список всех прав юзера БД 459 | • SHOW GRANTS FOR 'DATABASE_USER'@'localhost'; 460 | 461 | Сделать дамп всей БД 462 | • mysqldump -uDATABASE_USER -pDATABASE_USER_PASSWORD --all-databases > DATABASE_CUSTOM_DUMP_NAME.sql 463 | 464 | Сделать дамп определенной БД 465 | • mysqldump -uDATABASE_USER -pDATABASE_USER_PASSWORD DATABASE_NAME > DATABASE_CUSTOM_DUMP_NAME.sql 466 | 467 | Если вы хотите скопировать ваш дамп БД в другое место 468 | • cp /var/lib/mysql/DATABASE_CUSTOM_DAMP_NAME.sql /home/testuser/ 469 | ``` 470 | 471 | ### Отключение пароля для `$ sudo {cmd}` 472 | 473 | ``` 474 | Для начала создайте файл (Делать от sudo или root пользователя) 475 | sudo visudo -f /etc/sudoers.d/sudowpass 476 | • sudo nano /etc/sudoers.d/sudowpass 477 | 478 | В файл sudowpass нужно вписать следующее: 479 | 480 | YourUserHere ALL=(ALL) NOPASSWD:ALL 481 | 482 | Или сделаем проще с автоопределением вашего юзера (Делать с правами рута) - $USER ALL=(ALL) NOPASSWD:ALL 483 | 484 | • touch /etc/sudoers.d/sudowpass && echo "$USER ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/sudowpass && cat /etc/sudoers.d/sudowpass 485 | ``` 486 | 487 | ### Передача файлов по SSH через `scp` 488 | 489 | ``` 490 | • scp USER@IP:/путь_для_файла_на_другой_сервер название_файлика_на_вашем_сервере 491 | 492 | Использовать scp с кастомным портом SSH 493 | Для примера передадим файл test.dat на наш сервер Linux 494 | • scp -P 999 root@127.0.0.1:/home/path/to/path/test.dat /home/path/to/but/here/test.dat 495 | 496 | У вас запросит пароль, если вы используете ключи, то добавьте -i 497 | ``` 498 | 499 | ### Создание пользователя `замена ~ root` 500 | 501 | ``` 502 | Замените '$name' вашим новым кастомным юзером 503 | • adduser $name 504 | 505 | Выдача прав на sudoers для нового юзера 506 | usermod -aG sudo $name 507 | • adduser $name sudo 508 | 509 | Забрать группу sudoers у $name 510 | • deluser $name sudo 511 | 512 | ``` 513 | 514 | ### Настройка языковых пакетов на Linux 515 | 516 | ``` 517 | • sudo dpkg-reconfigure locales 518 | Выберите сначала Англ раскладку UTF=8 519 | После выберите пунктом выше C.UTF-8 и нажмите Ok 520 | Вы можете настроить языковые пакеты для себя. 521 | ``` 522 | 523 | # Раздел главных настроек нашего серверного ядра 524 | 525 | ### Защита вашего сервера 526 | 527 | - Не используйте плагины с левых сайтов! Хотя я и использую плагины из других источников, однако я имею определенные 528 | знания для поиска дыр в них, поэтому использую в итоге плагины с чистым кодом. Вам определенно не рекомендую как 529 | новичкам (Возможно здесь имеются тоже люди, которые разбираются в этом, но всё таки статья ориентирована на начинающую 530 | категорию пользователей. 531 | 532 | ``` 533 | Если вы хотите сохранить безопасность вашего сервера и ваших игроков, 534 | то лучше всего скачайте оригинальные плагины, 535 | а если нужно купить, то лучше купите их. Однако, автор также использует общедоступные и приватные ресурсы от BM сообщества администраторов/разработчиков 536 | ``` 537 | 538 | - Закрывайте все ненужные порты, а нужные открывайте! 539 | 540 | ``` 541 | Это конечно не критично, но лучше всего закрыть все или лишние порты и открыть только необходимые. 542 | После установки UFW / FIREWALLD они автоматически закрываются, 543 | кроме 22*, однако мы рекомендуем вручную открыть SSH/SFTP порт. Внимательно смотрите стандартные политики, которые ставятся вместе с пакетом при устанвоке 544 | ``` 545 | 546 | # Раздел для информации о Minecraft client/server стороне 547 | 548 | - [Доступные разделы](#доступные-разделы) 549 | 550 | ### Про панельные хостинги VS виртуальные & выделенные сервера 551 | - __Автор__ данного поста НЕ ПОДДЕРЖИВАЕТ низкокачественные панельные хосты из-за их серьезных ограничений или 552 | уязвимостей. Если вы хотите создать 553 | качественный Проект, то вам определенно стоит присмотреться к использованию выделенных (dedicated) или виртуальных ( 554 | virtual dedicated/private) серверов с полным 555 | доступом SSH (Secure Shell). 556 | - Использования контейнеризации на виртуальных или выделенных серверах приветствуется, но именно приобретение чисто контейнеров от ноунеймов - сразу же строго нет! 557 | 558 | # Disclaimer, as well as dedicated to copyright lovers <3 559 | - Any mention &| exploitation of third-party resources &| products doesn't actually violate the copyrights of the companies &| organizations to which they belong, since all information in writing or software form types can be found in open sources of search engines, for example Yandex & Google. --------------------------------------------------------------------------------