diff --git a/install.sh b/install.sh
new file mode 100644
index 0000000..71db9d0
--- /dev/null
+++ b/install.sh
@@ -0,0 +1,334 @@
+#!/bin/bash
+# Обновление таблиц и системы
+sysUpdate (){
+ apt-get -y update
+ apt-get -y upgrade
+}
+
+# Обновление системы
+sysUpdate
+
+# Установка начальных пакетов
+pkgsREQ=(sudo curl)
+
+# Цикл установки пакетов
+for package in "${pkgsREQ[@]}"; do
+ if ! dpkg-query -W -f='${Status}' "$package" 2>/dev/null | grep -q "install ok installed"; then
+ clear
+ echo "$package не установлен. Выполняется установка..."
+ apt-get install -y "$package"
+ fi
+done
+
+# Определение операционной системы
+verOS=`cat /etc/issue.net | awk '{print $1,$3}'`
+
+# Проверка аргументов командной строки
+if [ $# -gt 0 ]; then
+ # Переменные для хранения
+ verEGP=""
+ verPHP=""
+ sysIP=""
+
+ # Перебор всех аргументов
+ while [[ $# -gt 0 ]]; do
+ key="$1"
+
+ case $key in
+ --release)
+ # Если передан аргумент --release, сохранить указанную версию EngineGP
+ verEGP="$2"
+ shift # Пропустить значение версии
+ shift # Пропустить аргумент --release
+ ;;
+ --php)
+ # Если передан аргумент --php, сохранить указанную версию PHP
+ verPHP="$2"
+ shift # Пропустить значение версии
+ shift # Пропустить аргумент --php
+ ;;
+ --ip)
+ # Если передан аргумент --ip, сохранить указанный IP-адрес
+ sysIP="$2"
+ shift # Пропустить значение IP-адреса
+ shift # Пропустить аргумент --ip
+ ;;
+ *)
+ # Неизвестный аргумент, вывести справку и выйти
+ clear
+ echo "Использование: ./install.sh [--release версия] [--php версия] [--ip IP-адрес]"
+ echo " --release версия: установить указанную версию EngineGP"
+ echo " --php версия: установить указанную версию PHP"
+ echo " --ip IP-адрес: использовать указанный IP-адрес"
+ exit 1
+ ;;
+ esac
+ done
+
+ # Если версия EngineGP не выбрана, использовать последнюю стабильную версию
+ if [ -z "$verEGP" ]; then
+ LATEST_URL="https://resources.enginegp.com/latest"
+ verEGP=$(curl -s "$LATEST_URL" | awk 'NR==1 {print $2}')
+ fi
+
+ # Если версия PHP не выбрана, использовать PHP 8.0 по умолчанию
+ if [ -z "$verPHP" ]; then
+ verPHP="8.0"
+ fi
+
+ # Если IP-адрес не указан, получить внешний IP-адрес с помощью сервиса ipinfo.io
+ if [ -z "$sysIP" ]; then
+ sysIP=$(curl -s ipinfo.io/ip)
+ fi
+else
+ # Если нет аргументов, получить последнюю версию EngineGP из файла на сайте
+ LATEST_URL="https://resources.enginegp.com/latest"
+ verEGP=$(curl -s "$LATEST_URL" | awk 'NR==1 {print $2}')
+ verPHP="8.0"
+ sysIP=$(curl -s ipinfo.io/ip)
+fi
+
+# Проверяем, является ли полученный IP-адрес действительным IPv4 адресом
+if [[ $sysIP =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
+ sysIP=$sysIP
+else
+ clear
+ echo "Не удалось получить внешний IP-адрес"
+ echo "Используй: ./install.sh [--ip IP-адрес]"
+ exit
+fi
+
+# Проверяем условия и записываем версию в переменную
+if [[ "verEGP" == 3.* ]]; then
+ resEGP="EngineGP.v3"
+elif [[ "$version" == 4.* ]]; then
+ resEGP="EngineGP.v4"
+else
+ resEGP="EngineGP.v4"
+fi
+
+# Файловый репозиторий
+resURL="https://resources.enginegp.com/"
+
+while true; do
+ clear
+ echo "Меню установки EngineGP:"
+ echo "1. Установка панели управления"
+ echo "2. Настройка сервера под игры"
+ echo "3. Установка игровых сборок"
+ echo "4. Системная информация"
+ echo "0. Выход"
+
+ read -p "Выберите пункт меню: " choice
+
+ case $choice in
+ 1)
+ clear
+ # Список пакетов для установки
+ pkgsALL=(ufw memcached unzip bc cron apache2 libapache2-mpm-itk php$verPHP php$verPHP-common php$verPHP-cli php$verPHP-memcache php$verPHP-memcached php$verPHP-mysql php$verPHP-xml php$verPHP-mbstring php$verPHP-gd php$verPHP-imagick php$verPHP-zip php$verPHP-curl php$verPHP-ssh2 php$verPHP-xml libapache2-mod-php$verPHP nginx mariadb-server)
+
+ apache_ports="Listen 8080
+
+
+ Listen 443
+
+
+
+ Listen 443
+ "
+
+ # Конфигурация apache для EngineGP
+ apache_enginegp="
+ ServerName $sysIP
+ DocumentRoot /var/enginegp
+ ErrorLog /var/log/enginegp/apache_enginegp_error.log
+ CustomLog /var/log/enginegp/apache_enginegp_access.log combined
+
+
+ AssignUserID www-data www-data
+
+
+
+ Options FollowSymLinks
+ AllowOverride All
+
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+ SetHandler application/x-httpd-php
+
+
+"
+
+ # Конфигурация nginx для EngineGP
+ nginx_enginegp="server {
+ listen 80;
+ server_name $sysIP;
+
+ root /var/enginegp;
+ charset utf-8;
+
+ access_log /var/log/enginegp/nginx_enginegp_access.log combined buffer=64k;
+ error_log /var/log/enginegp/nginx_enginegp_error.log error;
+
+ index index.php index.htm index.html;
+
+ location / {
+ proxy_pass http://127.0.0.1:8080;
+ proxy_set_header Host \$host;
+ proxy_set_header X-Real-IP \$remote_addr;
+ proxy_set_header X-Forwarded-For \$remote_addr;
+ proxy_connect_timeout 120;
+ proxy_send_timeout 120;
+ proxy_read_timeout 180;
+ }
+
+ location ~* \.(gif|jpeg|jpg|txt|png|tif|tiff|ico|jng|bmp|doc|pdf|rtf|xls|ppt|rar|rpm|swf|zip|bin|exe|dll|deb|cur)$ {
+ access_log off;
+ expires 3d;
+ }
+
+ location ~* \.(css|js)$ {
+ access_log off;
+ expires 180m;
+ }
+
+ location ~ /\.ht {
+ deny all;
+ }
+}"
+ # Цикл установки пакетов
+ for package in "${pkgsALL[@]}"; do
+ # Проверяем наличие php
+ if [ ! -f "/etc/apt/sources.list.d/php.list" ]; then
+ # Добавляем репозиторий php
+ sudo curl -sSL https://packages.sury.org/php/README.txt | sudo bash -x
+
+ # Обновление таблиц
+ apt-get -y update
+ fi
+
+ # Проверка на наличие и установка пакетов
+ if ! dpkg-query -W -f='${Status}' "$package" 2>/dev/null | grep -q "install ok installed"; then
+ echo "$package не установлен. Выполняется установка..."
+ apt-get install -y "$package"
+ fi
+
+ # Проверяем установку apache
+ if dpkg-query -W -f='${Status}' "libapache2-mod-php$verPHP" 2>/dev/null | grep -q "install ok installed"; then
+ if [ ! -f /etc/apache2/sites-available/enginegp.conf ]; then
+ # Разрешаем доступ к портам
+ sudo ufw allow 80 >> "$(dirname "$0")/enginegp_install.log" 2>&1
+ sudo ufw allow 443 >> "$(dirname "$0")/enginegp_install.log" 2>&1
+
+ # Изменяем порт, на котором слушает Apache
+ echo -e "$apache_ports" | sudo tee /etc/apache2/ports.conf >> "$(dirname "$0")/enginegp_install.log" 2>&1
+
+ # Создаём папку для записи логов, если ещё не создана
+ sudo mkdir /var/log/enginegp >> "$(dirname "$0")/enginegp_install.log" 2>&1
+
+ # Отключаем конфигурационный файл 000-default.conf
+ sudo a2dissite 000-default.conf >> "$(dirname "$0")/enginegp_install.log" 2>&1
+
+ # Создаем виртуальный хостинг для EngineGP
+ echo -e "$apache_enginegp" | sudo tee /etc/apache2/sites-available/enginegp.conf >> "$(dirname "$0")/enginegp_install.log" 2>&1
+
+ # Проверяем конфиг apache и выводим в логи
+ sudo apachectl configtest >> "$(dirname "$0")/enginegp_install.log" 2>&1
+
+ # Включаем конфигурацию
+ sudo a2ensite enginegp.conf >> "$(dirname "$0")/enginegp_install.log" 2>&1
+
+ # Включаем rewrite
+ sudo a2enmod rewrite >> "$(dirname "$0")/enginegp_install.log" 2>&1
+
+ # Включаем MPM-ITK
+ sudo a2enmod mpm_itk >> "$(dirname "$0")/enginegp_install.log" 2>&1
+
+ # Включаем mod_php
+ sudo a2enmod php$verPHP >> "$(dirname "$0")/enginegp_install.log" 2>&1
+
+ # Перезапускаем apache
+ sudo systemctl restart apache2 >> "$(dirname "$0")/enginegp_install.log" 2>&1
+ fi
+ fi
+
+ # Проверяем установку nginx
+ if dpkg-query -W -f='${Status}' "nginx" 2>/dev/null | grep -q "install ok installed"; then
+ if [ ! -f /etc/nginx/sites-available/enginegp.conf ]; then
+ # Создаём папку для записи логов, если ещё не создана
+ sudo mkdir /var/log/enginegp >> "$(dirname "$0")/enginegp_install.log" 2>&1
+
+ # Создаем виртуальный хостинг для EngineGP
+ echo -e "$nginx_enginegp" | sudo tee /etc/nginx/sites-available/enginegp.conf >> "$(dirname "$0")/enginegp_install.log" 2>&1
+
+ # Создаём симлинк конфига NGINX
+ sudo ln -s /etc/nginx/sites-available/enginegp.conf /etc/nginx/sites-enabled/ >> "$(dirname "$0")/enginegp_install.log" 2>&1
+
+ # Проверяем конфиг nginx и выводим в логи
+ sudo nginx -t >> "$(dirname "$0")/enginegp_install.log" 2>&1
+
+ # Перезапускаем nginx
+ sudo systemctl restart nginx >> "$(dirname "$0")/enginegp_install.log" 2>&1
+ fi
+ fi
+
+ # Устанавливаем панель
+ if dpkg-query -W -f='${Status}' "php$verPHP-xml" 2>/dev/null | grep -q "install ok installed"; then
+ if [ ! -d /var/enginegp/ ]; then
+ # Закачиваем и распаковываем панель
+ sudo curl -sSL -o /var/enginegp.zip "$resURL/$resEGP/$verEGP/$verEGP.zip" >> "$(dirname "$0")/enginegp_install.log" 2>&1
+ sudo unzip /var/enginegp.zip -d /var/ >> "$(dirname "$0")/enginegp_install.log" 2>&1
+ sudo mv /var/EngineGP-* /var/enginegp >> "$(dirname "$0")/enginegp_install.log" 2>&1
+ sudo rm /var/enginegp.zip >> "$(dirname "$0")/enginegp_install.log" 2>&1
+
+ # Задаём права на каталог
+ chown www-data:www-data -R /var/enginegp/ >> "$(dirname "$0")/enginegp_install.log" 2>&1
+
+ # Установка и настрока composer
+ curl -o composer-setup.php https://getcomposer.org/installer >> "$(dirname "$0")/enginegp_install.log" 2>&1
+ php composer-setup.php --install-dir=/usr/local/bin --filename=composer >> "$(dirname "$0")/enginegp_install.log" 2>&1
+ cd /var/enginegp >> "$(dirname "$0")/enginegp_install.log" 2>&1
+ sudo composer install --no-interaction >> "$(dirname "$0")/enginegp_install.log" 2>&1
+ cd >> "$(dirname "$0")/enginegp_install.log" 2>&1
+ fi
+ fi
+ done
+
+ # Перезапускаем apache
+ sudo systemctl restart apache2 >> "$(dirname "$0")/enginegp_install.log" 2>&1
+ ;;
+ 2)
+ clear
+ echo "Вы выбрали: Настройка сервера под игры"
+ # Здесь добавить код для настройки сервера под игры
+ ;;
+ 3)
+ clear
+ echo "Вы выбрали: Установка игровых сборок"
+ # Здесь добавить код для установки игровых сборок
+ ;;
+ 4)
+ clear
+ echo "Последняя версия EngineGP: $verEGP"
+ echo "Текущая версия Linux: $verOS"
+ echo "Внешний IP-адрес: $sysIP"
+ echo "Версия php: $verPHP"
+ ;;
+ 0)
+ clear
+ echo "До свидания!"
+ exit 0
+ ;;
+ *)
+ clear
+ echo "Неверный выбор. Попробуйте еще раз."
+ ;;
+ esac
+
+ read -p "Нажмите Enter, чтобы продолжить..."
+done
\ No newline at end of file