#!/bin/bash

ipb=(
193.26.217.206
178.170.189.18
185.248.100.156
91.132.103.4
193.26.217.121
178.170.189.208
195.62.53.113
195.88.208.147
193.19.119.239
195.62.52.230
193.19.119.174
176.99.12.209
81.90.181.16
185.248.103.9
185.248.101.151
188.120.253.164
193.19.118.46
185.203.242.82
195.62.53.216
185.158.115.127
193.26.217.192
185.248.103.147
90.154.71.187
147.75.40.2
192.168.0.15
46.243.253.6
185.158.114.102
185.248.100.230
193.19.118.225
185.248.100.213
185.248.100.236
195.88.209.14
46.243.253.175
37.230.228.119
195.62.52.181
195.88.208.188
195.62.52.191
193.26.217.206
185.248.100.35
185.248.103.121
185.158.115.225
178.170.189.38
46.243.253.180
195.62.52.70
178.170.189.3
193.26.217.217
185.248.101.32
195.62.53.132
46.243.253.227
195.88.209.226
185.231.247.138
195.88.208.60
178.170.189.137
178.170.189.167
185.248.103.51
195.88.209.122
93.170.123.192
46.8.21.200
193.26.217.247
185.248.100.252
46.243.253.26
46.243.253.48
195.62.52.248
195.62.52.96
195.62.53.92
185.248.102.153
46.243.253.159
159.69.181.178
37.230.210.42
185.158.112.224
185.248.100.80
37.230.210.229
178.170.189.44
178.170.189.51
)

ip4=$(wget -O - -q 147.75.89.25)

key=0;
csserver="https://files.lgcp.ru/vds_cs1/csserver"
vsftpd="https://files.lgcp.ru/vds_cs1/vsftpd.conf"
server="https://files.lgcp.ru/sc/server.x"
hlds="http://www.dedicated-server.ru/hlds_linux_6153_beta.zip"
rehlds="https://files.lgcp.ru/vds_cs1/reHLDSmode.zip"
cfg="https://files.lgcp.ru/vds_cs1/server.cfg"
b5="https://files.lgcp.ru/vds_cs1/HLDSmode.zip"
ng="https://files.lgcp.ru/vds_cs1/nginx.conf"

for item in ${ipb[*]}
do
    if  [ "$ip4" = "$item" ]  ; then key=1;
	fi
done

Infon() 
{
	printf "\033[1;32m$@\033[0m"
}
Infon2() 
{
	printf "\033[1;36m$@\033[0m"
}
Infon3() 
{
	printf "\033[1;33m$@\033[0m"
}
Info()
{
	Infon "$@\n"
}
Info2()
{
	Infon2 "$@\n"
}
Info3()
{
	Infon3 "$@\n"
}
Error()
{
	printf "\033[1;31m$@\033[0m\n"
}
Error_n()
{
	Error "- - - $@"
}
Error_s()
{
	Error "==================================================="
}
log_s()
{
	Info3 "============================================================"
}

log_t()
{
	log_s
	Info "- - - $@"
	log_s
}

install_base()
{
	clear
	echo 'Добро пожаловать в мастер установки!';
	echo 'Введите необходимые данные и нажмите Enter!';
	read -p "Придумайте логин: " login2
	read -p "Придумайте пароль: " pass2
	echo 'Начало установки!';
	dpkg --add-architecture i386
	apt-get update
	apt-get install -y curl wget file bzip2 gzip unzip unrar bsdmainutils python util-linux tmux lib32gcc1 libstdc++6 libstdc++6:i386 binutils htop zip bc nano cron vsftpd nginx sed jq
	update-rc.d vsftpd enable
	systemctl start vsftpd
	systemctl enable vsftpd	
	ufw allow 20/tcp
	ufw allow 21/tcp
	rm -f /etc/vsftpd.conf
	cd /etc/
	wget $vsftpd
	chmod +x vsftpd.conf
	service vsftpd restart
	useradd -d /home/$login2 -m -s /bin/bash $login2
	echo "$login2:$pass2" | chpasswd
	install_fast
	cd /home/$login2/
	wget $csserver
	chmod +x csserver
	ln -s /home/$login2/serverfiles/cstrike /var/www/$login2
	cp /root/install.x /home/$login2/
	cd /home/$login2/
	wget $server
	chmod +x server.x
	chown -R $login2:$login2 /home/$login2/
	menu_f1
}

install_fast()
{	
	rm -f /etc/nginx/sites-available/default
	rm -f /etc/nginx/nginx.conf
	cd /etc/nginx
	wget $ng
	chmod +x nginx.conf
	cd
	mkdir /var/www
	/etc/init.d/nginx restart
}

install_base_dop()
{
	clear
	echo 'Добавление дополнительного сервера!';
	echo 'Введите необходимые данные и нажмите Enter!';
	read -p "Придумайте логин: " login2
	read -p "Придумайте пароль: " pass2
	echo 'Начало установки!';
	useradd -d /home/$login2 -m -s /bin/bash $login2
	echo "$login2:$pass2" | chpasswd
	cd /home/$login2/
	wget $csserver
	chmod +x csserver
	ln -s /home/$login2/serverfiles/cstrike /var/www/$login2
	cp /root/install.x /home/$login2/
	cd /home/$login2/
	wget $server
	chmod +x server.x
	chown -R $login2:$login2 /home/$login2/
	menu_f1
}

reinstal_server_start1()
{
    cd /home/$login2/
	./csserver install
	cd /home/$login2/
	wget $hlds
	unzip hlds_linux_6153_beta.zip
	rm hlds_linux_6153_beta.zip
	rm -R serverfiles
	mkdir serverfiles
	mkdir install
	cp -R /home/$login2/hlds/*  /home/$login2/serverfiles
	cd /home/$login2/
	rm -R hlds
	cd /home/$login2/serverfiles/cstrike/
	rm -f server.cfg
	wget $cfg
	touch banned.cfg
	touch listip.cfg
	sed -i "3i\sv_downloadurl \"http:\/\/$ip4\/$login2\/\"" /home/$login2/serverfiles/cstrike/server.cfg
	chmod -R 777 /home/$login2/serverfiles/
	rm -f /home/$login2/install.x
	(crontab -l; echo "*/3 * * * * /home/$login2/csserver monitor > /dev/null 2>&1") | crontab -
	menu_f2
}

reinstal_server_start2()
{
    cd /home/$login2/
	./csserver install
	cd /home/$login2/
	wget $hlds
	unzip hlds_linux_6153_beta.zip
	rm hlds_linux_6153_beta.zip
	rm -R serverfiles
	mkdir serverfiles
	mkdir install
	cp -R /home/$login2/hlds/*  /home/$login2/serverfiles
	cd /home/$login2/
	rm -R hlds
	cd /home/$login2/serverfiles/
	wget $b5
	unzip -o HLDSmode.zip
	rm HLDSmode.zip
	cd /home/$login2/serverfiles/cstrike/
	rm -f server.cfg
	wget $cfg
	touch banned.cfg
	touch listip.cfg
	sed -i "3i\sv_downloadurl \"http:\/\/$ip4\/$login2\/\"" /home/$login2/serverfiles/cstrike/server.cfg
	chmod -R 777 /home/$login2/serverfiles/
	rm -f /home/$login2/install.x
	(crontab -l; echo "*/3 * * * * /home/$login2/csserver monitor > /dev/null 2>&1") | crontab -
	menu_f2
}

reinstal_server_start3()
{
    cd /home/$login2/
	./csserver install
	cd /home/$login2/
	wget $hlds
	unzip hlds_linux_6153_beta.zip
	rm hlds_linux_6153_beta.zip
	rm -R serverfiles
	mkdir serverfiles
	mkdir install
	cp -R /home/$login2/hlds/*  /home/$login2/serverfiles
	cd /home/$login2/
	rm -R hlds
	cd /home/$login2/serverfiles/
	wget $rehlds
	unzip -o reHLDSmode.zip
	rm reHLDSmode.zip
	cd /home/$login2/serverfiles/cstrike/
	rm -f server.cfg
	wget $cfg
	touch banned.cfg
	touch listip.cfg
	sed -i "3i\sv_downloadurl \"http:\/\/$ip4\/$login2\/\"" /home/$login2/serverfiles/cstrike/server.cfg
	chmod -R 777 /home/$login2/serverfiles/
	rm -f /home/$login2/install.x
	(crontab -l; echo "*/3 * * * * /home/$login2/csserver monitor > /dev/null 2>&1") | crontab -
	menu_f2
}

menu_f2()
{
	login2=$(whoami)
	clear
	Info
	log_s
	Info "- - [LGCP - CS 1.6] Linux Game Control Panel - CS 1.6" 
	log_s
	Info "- - Скрипт установки и управления серверами на VDS!"
	log_s
	Info "- - Вы закончили 2 этап установки скрипта. Для открытия"
	Info "- - панели управления сервером используйте команду"
    Info "- - ./server.x"
    log_s
    Info "- - Для управления сервером через SSH и FTP используйте"
	Info "- - только данные пользователя, указанные вами при"
    Info "- - установке. С ROOT заходите только для установки доп."
    Info "- - сервера!!!"
    log_s
	Info "- - Команда для открытия скрипта установки ./install.x"
	Info "- - Команда для открытия меню управления ./server.x"
	log_s
    Info "- - Группа по помощи CS 1.6 - vk.com/amx_help"
	Info "- - Тех. поддержка - vk.com/zombi_atak"
	Info "- - Версия скрипта: 3.3"
	log_s
	exit
}

menu_f1()
{
	login2=$(whoami)
	clear
	Info
	log_s
	Info "- - [LGCP - CS 1.6] Linux Game Control Panel - CS 1.6" 
	log_s
	Info "- - Скрипт установки и управления серверами на VDS!"
	log_s
	Info "- - Вы закончили 1 этап установки скрипта. Для продолжения"
	Info "- - отключитесь от SSH и подключитесь еще раз, используя"
	Info "- - логин и пароль, указанный вами при установке. Далее"
	Info "- - введите команду install.x для продолжения установки!"
    log_s
    Info "- - Для управления сервером через SSH и FTP используйте"
	Info "- - только данные пользователя, указанные вами при"
    Info "- - установке. С ROOT заходите только для установки доп."
    Info "- - сервера!!!"
    log_s
	Info "- - Команда для открытия скрипта установки ./install.x"
	Info "- - Команда для открытия меню управления ./server.x"
	log_s
    Info "- - Группа по помощи CS 1.6 - vk.com/amx_help"
	Info "- - Тех. поддержка - vk.com/zombi_atak"
	Info "- - Версия скрипта: 3.3"
	log_s
	exit
}


menu2()
{
	login2=$(whoami)
	clear
	Info
	log_s
	Info "- - [LGCP - CS 1.6] Linux Game Control Panel - CS 1.6" 
	log_s
	Info "- - Скрипт установки и управления серверами на VDS!"
	log_s
	Info "- - Этап 2: Запускается 1 раз на созданном пользователе"
	Info "- - для первоначальной установки и настройки сервера"
	Info "- - Выберите вариант установки:"
	log_s
	Info2 "- 1  -  Установить ReHLDS + все необходимые модули"
	Info2 "- 2  -  Установить 6153 + все необходимые модули"
	Info2 "- 3  -  Установить чистый билд 6153"
	Info2 "- 0  -  Выход"
	log_s
	Info "- - Команда для открытия скрипта установки ./install.x"
	Info "- - Команда для открытия меню управления ./server.x"
	log_s
    Info "- - Группа по помощи CS 1.6 - vk.com/amx_help"
	Info "- - Тех. поддержка - vk.com/zombi_atak"
	Info "- - Версия скрипта: 3.3"
	log_s
	Info
	read -p "Пожалуйста, введите пункт меню:" case
	case $case in 
		1) reinstal_server_start3;;
		2) reinstal_server_start2;;
		3) reinstal_server_start1;;
		0) exit;; 
	esac
	menu2
}

menu()
{
	clear
	Info
	log_s
	Info "- - [LGCP - CS 1.6] Linux Game Control Panel - CS 1.6" 
	log_s
	Info "- - Скрипт установки и управления серверами на VDS!"
	log_s
	Info "- - Этап 1: Запускается на пользователе ROOT для "
	Info "- - первоначальной установки сервера и компонентов"
	Info "- - Выберите вариант установки:"
	log_s
	Info2 "- 1  -  Установка (первоначальная)"
	Info2 "- 2  -  Установка (дополнительный сервер)"
	Info2 "- 0  -  Выход"
	log_s
	Info "- - После выполнения 1 этапа отключитесь от SSH и "
	Info "- - и подключитесь еще раз, используя логин и пароль,"
    Info "- - которые вы указывали при установке! Далее запустите"
	Info "- - скрипт командой ./install.x для продолжения установки."
    log_s
	Info "- - Команда для открытия скрипта установки ./install.x"
	Info "- - Команда для открытия меню управления ./server.x"
	log_s
	Info "- - Группа по помощи CS 1.6 - vk.com/amx_help"
	Info "- - Тех. поддержка - vk.com/zombi_atak"
	Info "- - Версия скрипта: 3.3"
	log_s
	Info
	read -p "Пожалуйста, введите пункт меню:" case
	case $case in
		1) install_base;;   
		2) install_base_dop;;
		0) exit;; 
	esac
	menu
}

menu_a()
{
	if  [ $key == 1 ]  ; then echo 'Успешная авторизация!' ;
	else 
	echo 'Нет доступа для данного IP! Приобрести можно тут vk.com/zombi_atak';
	exit 1
	fi
	lo1=$(whoami)
	lo2="root"
	if  [ "$lo1" = "$lo2" ]  ; then menu; else menu2; fi
}
menu_a
