Skip to content

Commit cd5d7f4

Browse files
Agência H1 CodeRaizen
andcommitted
Versão 2.0 - Reformulação completa do Script
Versão 2.0, reformulação completa do script Co-Authored-By: Carlos Heitor Lain <raizen@users.noreply.github.com> Co-Authored-By: Agência H1 Code <contato@h1code.com.br>
1 parent 9514b62 commit cd5d7f4

File tree

1 file changed

+162
-39
lines changed

1 file changed

+162
-39
lines changed

bin/sv

Lines changed: 162 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,165 @@
11
#!/bin/bash
2-
#======================//==========================
3-
#Atalho para execução de comandos em Shell
4-
#======================//==========================
5-
#Versão:
6-
#1.0 - Criado por Rhúlio Victor
7-
#2.0 - Adicionada novas funções por Carlos Lain
8-
#2.1 - Função para download de emuladores por Carlos Lain
9-
#2.2 - Correção na função instalar-cmake e remoção de alguns emuladores por Carlos Heitor Lain
10-
#2.3 - Atualização de Funções Alexandre Leigo
11-
#======================//==========================
12-
HOST_PATH=localhost
13-
USER_PATH=root
14-
SENHA_PATH=SENHA-DO-BANCO-DE-DADOS
15-
BD_PATH=BANCO-DE-DADOS-D0-SEU-RAGNAROK
2+
# Desenvolvido por: Mário Augusto Paglia Júnior
3+
# Paglia Host Brasil: www.pagliahost.com.br
4+
#
5+
# Desenvolvido por: Rhúlio Victor
6+
#
7+
# Desenvolvido por: Carlos Lain
8+
#
9+
# Desenvolvido por: Alexandre Leigo
10+
#
11+
# Script do comando SV, para ligar, desligar, compilar, baixar emuladores e diversas outras funções
12+
#
13+
# Versões:
14+
#
15+
# 1.0 - 2016 ou anterior - Criação do script pelo Rhúlio Victor, Carlos Laion e Alexandre Leigo
16+
# 2.0 - 26/07/2017 - Reformulação completa do script realizado por Mário Augusto em 2017
17+
# 2.1 - 01/08/2017 - Correção e Adição de Novas Funções
18+
# 2.2 - 07/08/2017 - Adição do comando compilar-cmake para compilação via CMAKE
19+
# 2.3 - 25/08/2017 - Adição do comando SV Status, verificando se o servidor está online nos processos
20+
# 2.4 - 28/08/2017 - Adição dos comandos SV PREPARAR-RATHENA e SV COMPILAR-RATHENA especificos para preparação e compilação do emulador rAthena
21+
# 2.5 - 26/09/2017 - Adição do comando SV COMPILAR-RATHENA2 onde é instalado o compilador GCC 5.3 para os emuladores rAthena atuais
22+
# 2.6 - 30/09/2017 - Adição do comando SV COMPILAR-EAMOD, para compilar emuladores eAmod
23+
# 2.7 - 26/10/2017 - Melhoria e correção da listagem e descrição dos comandos através do comando principal "sv comandos"
24+
# 2.8 - 13/11/2017 - Melhoria do comando SV-STATUS, mostrando cores e a informação escrita se o emulador está ligado ou desligado
25+
# 2.9 - 07/02/2018 - Adição da função de verificar se o emulador está ligado para evitar ligar 2x o mesmo processo
26+
# 3.0 - 07/02/2018 - Adição da função de desligar forçadamente o emulador caso ele fique com processo preso, melhoria no visual do código
27+
28+
emulador=/home/emulador
29+
banco=/var/lib/phpMyAdmin/upload/
30+
VERIFICA_PROCESSOS=$(ps aux | grep -E "map-server|login-server|char-server" | grep -v grep | wc -l)
31+
1632
case $1 in
17-
'ligar') cd /home/emulador2/ ; exec ./char-server & exec ./map-server & exec ./charserv & exec ./mapserv & ;;
18-
'desligar') ps ax | grep -E "login-server|char-server|map-server" | awk '{print $1}' | xargs kill; echo "Servidor finalizado" ;;
19-
'compilar') echo "Para compilar seu emulador você deverá utilizar o parâmetro que deseja.
20-
Para a compilação por modo tradicional(GCC), ou seja, o modo mais conhecido, digite "sv compilar-autoconf" , sem aspas.
21-
Para a compilação por CMake digite "sv compilar-cmake" , sem aspas.
22-
Caso você não tenha o cmake 2.8.4 ou superior instalado em sua máquina, ou tenha alguma dúvida, contate nosso suporte." ;;
23-
'retornar') screen -x ragnarok ;;
24-
'compilar-cmake') cd /home/emulador2 ; cmake . ; make ; cd /home ;;
25-
'compilar-autoconf') cd /home/emulador2 ; sh configure ; make clean ; make sql ; cd /home ;;
26-
'backup') cd /home ; mkdir backup ; tar -czvf /home/backup/emulador_`date +%b%d-%Hh%Mm%Ss`.tgz emulador ; cd /home/backup ; mysqldump -h $HOST_PATH -u $USER_PATH -p$SENHA_PATH $BD_PATH > banco_`date +%b%d-%Hh%Mm%Ss`.sql.gz ;;
27-
'baixar-emulador') echo "Para baixar os emuladores, utilize ./sv baixar-NOMEDOEMULADOR, os existentes são:
28-
sv baixar-rathena
29-
sv baixar-eathena
30-
sv baixar-cronus
31-
sv baixar-brathena
33+
'ligar')
34+
if [ "$VERIFICA_PROCESSOS" -ge "1" ]
35+
then
36+
echo ""
37+
echo "O SEU EMULADOR JÁ SE ENCONTRA LIGADO, POR FAVOR, USE O COMANDO 'SV DESLIGAR' ANTES DE LIGAR NOVAMENTE"
38+
echo ""
39+
else
40+
cd $emulador; exec ./login-server & exec ./char-server & exec ./map-server & exec ./loginserv & exec ./charserv & exec ./mapserv & exec ./login-server_sql & exec ./char-server_sql & exec ./map-server_sql &
41+
fi ;;
42+
'desligar') ps ax | grep -E "login-server|char-server|map-server" | awk '{print $1}' | xargs kill
43+
sleep 1
44+
echo ""
45+
echo "AGUARDE 5 SEGUNDOS..."
46+
sleep 1
47+
echo "AGUARDE 4 SEGUNDOS..."
48+
sleep 1
49+
echo "AGUARDE 3 SEGUNDOS..."
50+
sleep 1
51+
echo "AGUARDE 2 SEGUNDOS..."
52+
sleep 1
53+
echo "AGUARDE 1 SEGUNDO..."
54+
sleep 1
55+
56+
VERIFICA_PROCESSOS2=$(ps aux | grep -E "map-server|login-server|char-server" | grep -v grep | wc -l)
57+
58+
if [ "$VERIFICA_PROCESSOS2" -eq "0" ]
59+
then
60+
echo ""
61+
else
62+
ps ax | grep -E "login-server|char-server|map-server" | awk '{print $1}' | xargs kill -9
63+
fi
64+
echo ""
65+
echo "O SEU EMULADOR FOI DESLIGADO COM SUCESSO!"
66+
echo "";;
67+
68+
'compilar' | 'compilar-autoconf') cd /home/emulador; make clean; make sql ;;
69+
70+
'compilar-cmake') cd /home/emulador ; cmake . ; make ;;
71+
72+
'screen') screen -S ragnarok ;;
73+
74+
'retornar') screen -r ragnarok ;;
75+
76+
'status') ps aux | grep -E "map-server|login-server|char-server" | grep -v grep
77+
78+
STATUS=$(ps aux | grep -E "map-server|login-server|char-server" | grep -v grep | wc -l)
79+
80+
if [ "$STATUS" = "3" ]
81+
then
82+
echo ""
83+
echo -e "O SEU EMULADOR ESTÁ \e[00;32mLIGADO\e[00m NO MOMENTO!"
84+
echo ""
85+
elif [ "$STATUS" = "2" ] || [ "$STATUS" = "1" ]
86+
then
87+
echo ""
88+
echo -e "O SEU EMULADOR ESTÁ \e[00;32mLIGADO\e[00m NO MOMENTO, PORÉM COM UM DOS PROCESSOS DESLIGADOS, NECESSÁRIO SUA ATENÇÃO!"
89+
echo ""
90+
else
91+
echo ""
92+
echo -e "O SEU EMULADOR ESTÁ \e[00;31mDESLIGADO\e[00m NO MOMENTO!"
93+
echo ""
94+
fi ;;
95+
96+
'preparar') cd $emulador; chmod 777 configure; ./configure; echo "As permissões foram preparadas com sucesso!" ;;
97+
98+
'preparar-rathena')
99+
wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo && yum -y install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++ devtoolset-2-gcc-gfortran
100+
101+
source scl_source enable devtoolset-2
102+
103+
if [ $? = 0 ]
104+
then
105+
source /opt/rh/devtoolset-2/enable
106+
sv preparar-rathena2
107+
else
108+
echo ""
109+
echo "COMANDO DE PREPARAÇÃO NÃO CONSEGUIU SER CONCLUÍDO COM SUCESSO!"
110+
echo ""
111+
fi
112+
;;
113+
114+
'preparar-rathena2') cd /etc/yum.repos.d/ && wget https://pagliahost.com.br/comandos/mlampe.repo && yum -y install devtoolset-4-toolchain
115+
116+
USUARIO=$(cat /usr/bin/usuario)
117+
118+
echo "source scl_source enable devtoolset-4" >> /home/$USUARIO/.bashrc
119+
chown -R $USUARIO /var/lib/phpMyAdmin/upload/
120+
121+
echo ""
122+
echo "A SUA VPS ESTÁ PREPARADA COM SUCESSO PARA RECEBER O RATHENA!"
123+
echo ""
124+
;;
125+
126+
'compilar-rathena') cd /home/emulador; ./configure --disable-64bit; make clean; make server ;;
127+
128+
'compilar-rathena2') cd /home/emulador; ./configure; make clean; make server ;;
129+
130+
'compilar-eamod') cd /home/emulador; make clean; make sql; make sql ;;
131+
132+
'backup') cd /home; rar a backup_`date +%d_%m_%y_%H_%M`.rar emulador; mkdir backup; mv backup_`date +%d_%m_%y_%H_%M`.rar /home/backup ;;
133+
134+
'antigo') cd /home; rar a emulador_antigo_`date +%d_%m_%y`.rar emulador; mkdir backup; mv emulador_antigo_`date +%d_%m_%y`.rar /home/backup ;;
135+
136+
'baixar-emulador') echo "Para baixar um emulador, use um dos seguintes comandos: sv baixar-cronus | sv baixar-brathena | sv baixar-hercules | sv baixar-rathena";;
137+
138+
'baixar-cronus') cd /home; sv antigo; rm -rf emulador; mkdir emulador; svn co https://github.com/Cronus-Emulator/Cronus/trunk emulador; echo "O seu emulador foi baixado com sucesso e se encontra dentro de /home/emulador"; rm -rf $banco*; cd /home/emulador/sql-files; cp main.sql logs.sql $banco; cd /home/emulador/sql-files/item; cp item_db.sql item_db2.sql item_db_re.sql $banco; cd /home/emulador/sql-files/mob; cp mob_db.sql mob_db2.sql mob_db_re.sql mob_skill_db.sql mob_skill_db2.sql mob_skill_db_re.sql $banco; sv preparar ;;
139+
140+
'baixar-brathena') cd /home; sv antigo; rm -rf emulador; mkdir emulador; svn co https://github.com/brAthena/brAthena/trunk emulador; echo "O seu emulador foi baixado com sucesso e se encontra dentro de /home/emulador"; rm -rf $banco*; cd /home/emulador/sql/; cp principal.sql logs.sql $banco; cd /home/emulador/sql/pre-renovacao/; cp pre-renovacao.sql $banco; cd /home/emulador/sql/renovacao/; cp renovacao.sql $banco; sv preparar ;;
141+
142+
'baixar-hercules') cd /home; sv antigo; rm -rf emulador; svn co https://github.com/HerculesWS/Hercules/trunk emulador; echo "O seu emulador foi baixado com sucesso e se encontra dentro de /home/emulador"; rm -rf $banco*; cd /home/emulador/sql-files; cp item_db2.sql item_db_re.sql item_db.sql logs.sql main.sql mob_db2.sql mob_db_re.sql mob_db.sql mob_skill_db2.sql mob_skill_db_re.sql mob_skill_db.sql $banco; sv preparar ;;
143+
144+
'baixar-rathena') cd /home; sv antigo; rm -rf emulador; mkdir emulador; svn co https://github.com/rathena/rathena/trunk emulador; echo "O seu emulador foi baixado com sucesso e se encontra dentro de /home/emulador"; rm -rf $banco*; cd /home/emulador/sql-files; cp item_cash_db.sql item_cash_db2.sql item_db.sql item_db2.sql item_db2_re.sql item_db_re.sql logs.sql main.sql mob_db.sql mob_db2.sql mob_db2_re.sql mob_db_re.sql mob_skill_db.sql mob_skill_db2.sql mob_skill_db2_re.sql mob_skill_db_re.sql roulette_default_data.sql $banco ;;
145+
146+
*) echo "Os comandos válidos são:
147+
148+
sv ligar - Liga o emulador (brAthena/Cronus/Hércules/rAthena/eAmods)
149+
sv desligar - Desliga o emulador (brAthena/Cronus/Hércules/rAthena/eAmods)
150+
sv compilar - Compila o emulador (brAthena/Cronus/Hércules)
151+
sv status - Verifica se o emulador está com seus processos ligados ou desligados
152+
sv compilar-cmake - Compilar emualdor com CMAKE (emuladores específicos)
153+
sv screen - Roda o emulador em segundo plano com o Screen
154+
sv retornar - Retorna à tela do Screen nos demais acessos ao SSH
155+
sv preparar - Da as permissões inicias ao emulador (chmod 777 configure e ./configure)
156+
sv backup - Cria um backup e um arquivo .rar da pasta /home/emulador
157+
sv baixar-emulador - Baixar emuladores diretamente dos repositórios oficiais do GitHub (brAthena/Cronus/Hércules/rAthena)
158+
sv compilar-rathena - Comando especialmente criado para compilar emuladores rAthena (GCC-C++ versão 5.X)
159+
sv compilar-eamod - Comando especialmente criado para compilar emuladores eAmod
160+
161+
Para utilizar os comandos, basta digitar em qualquer tela do seu SSH.
32162
33-
" ;;
34-
'baixar-rathena') cd /home ; mkdir backup ; tar -czvf /home/backup/emulador_`date +%b%d-%Hh%Mm%Ss`.tgz emulador ; cd /home/backup ; mysqldump -h $HOST_PATH -u $USER_PATH -p$SENHA_PATH $BD_PATH > banco_`date +%b%d-%Hh%Mm%Ss`.sql.gz ; cd /home ; rm -rf emulador ; mkdir emulador ; cd /emulador ; svn co https://github.com/rathena/rathena/trunk emulador ; unzip rathena.zip ; rm -rf rathena.zip ; echo "Seu emulador está localizado em /emulador e a cópia do emulador anterior está no diretório /beckup." ;;
35-
'baixar-eathena') cd /home ; mkdir backup ; tar -czvf /home/backup/emulador_`date +%b%d-%Hh%Mm%Ss`.tgz emulador ; cd /home/backup ; mysqldump -h $HOST_PATH -u $USER_PATH -p$SENHA_PATH $BD_PATH > banco_`date +%b%d-%Hh%Mm%Ss`.sql.gz ; cd /home ; rm -rf emulador ; mkdir emulador ; cd /emulador ; svn co https://github.com/eathena/eathena/trunk emulador ; unzip eathena.zip ; rm -rf eathena.zip ; echo "Seu emulador está localizado em /emulador e a cópia do emulador anterior está no diretório /beckup." ;;
36-
'baixar-cronus') cd /home ; mkdir backup ; tar -czvf /home/backup/emulador_`date +%b%d-%Hh%Mm%Ss`.tgz emulador ; cd /home/backup ; mysqldump -h $HOST_PATH -u $USER_PATH -p$SENHA_PATH $BD_PATH > banco_`date +%b%d-%Hh%Mm%Ss`.sql.gz ; cd /home ; rm -rf emulador ; mkdir emulador ; cd /emulador ; svn co https://github.com/Cronus-Emulator/Cronus/trunk emulador ; unzip cronus.zip ; rm -rf cronus.zip ; echo "Seu emulador está localizado em /emulador e a cópia do emulador anterior está no diretório /beckup." ;;
37-
'baixar-brathena') cd /home ; mkdir backup ; tar -czvf /home/backup/emulador_`date +%b%d-%Hh%Mm%Ss`.tgz emulador ; cd /home/backup ; mysqldump -h $HOST_PATH -u $USER_PATH -p$SENHA_PATH $BD_PATH > banco_`date +%b%d-%Hh%Mm%Ss`.sql.gz ; cd /home ; rm -rf emulador ; mkdir emulador ; cd /emulador ; svn co https://github.com/brAthena/brAthena/trunk ; unzip brathena.zip ; rm -rf brathena.zip ; echo "Seu emulador está localizado em /emulador e a cópia do emulador anterior está no diretório /beckup." ;;
38-
*) echo "Os parâmetros válidos são:
39-
ligar|desligar|backup|compilar|compilar-cmake|compilar-autoconf|baixar-emulador
40-
Para utilizar os comandos, digite no shell:
41-
./sv parâmetro" ;;
42-
esac
163+
Lembre-se de que seu emulador precisa ser instalado dentro de /home/emulador para o correto funcionamento dos comandos.
164+
"
165+
esac

0 commit comments

Comments
 (0)