Fiz este auto-start do servidor com intuito de agilizar processo de testes ao subir o game.
Sou javeiro e estava me aventurando com C/C++.
Único sv que consegui rodar foi esse WYDESTINY.
Seguimos na luta pelo aprendizado!
Script BAT
@echo off
setlocal
rem MATANDO PROCESSOS ABERTOS DO SERVIDOR ATIVO
for /f "tokens=2" %%a in ('tasklist ^| findstr /i "GameServer.exe"') do (
taskkill /PID %%a /F
echo Processo com PID %%a encerrado.
)
for /f "tokens=2" %%a in ('tasklist ^| findstr /i "DataServer.exe"') do (
taskkill /PID %%a /F
echo Processo com PID %%a encerrado.
)
for /f "tokens=2" %%a in ('tasklist ^| findstr /i "WYDestiny.exe"') do (
taskkill /PID %%a /F
echo Processo com PID %%a encerrado.
)
rem EXECUTANDO COMPILAÇÃO AUTOMATICA DOS PROJETOS
echo Compilando o projeto WYDESTINY...
"C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\devenv.exe" "C:\Workspace\TMProject-Free\Source cliente\WYDESTINY.sln" /build "Debug|x86"
if %errorlevel% neq 0 goto erro
echo Compilação concluída com sucesso.
goto fim
:erro
echo Ocorreu um erro durante a compilação.
goto fim
:fim
echo Compilando o projeto WYD2Emulator...
"C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\devenv.exe" "C:\Workspace\TMProject-Free\Source servidor\WYD2Emulator.sln" /build "Debug|x86"
if %errorlevel% neq 0 goto erro
echo Compilação concluída com sucesso.
goto fim
:erro
echo Ocorreu um erro durante a compilação.
goto fim
:fim
rem EXCLUINDO ARQUIVOS ANTIGOS COMPILADOS (.exe)
echo Excluindo o arquivo example.txt...
del "C:\Workspace\TMProject-Free\Release\DataServer\DataServer.exe"
if %errorlevel% neq 0 (
echo Falha ao excluir o arquivo.
) else (
echo Arquivo excluído com sucesso.
)
echo Excluindo o arquivo example.txt...
del "C:\Workspace\TMProject-Free\Release\GameServer\GameServer.exe"
if %errorlevel% neq 0 (
echo Falha ao excluir o arquivo.
) else (
echo Arquivo excluído com sucesso.
)
echo Excluindo o arquivo example.txt...
del "C:\Workspace\TMProject-Free\WYDESTINY\WYDestiny.exe"
if %errorlevel% neq 0 (
echo Falha ao excluir o arquivo.
) else (
echo Arquivo excluído com sucesso.
)
rem COPIANDO ARQUIVOS DEPLOYADOS PARA AS RESPECTIVAS PASTAS
echo Iniciando a cópia dos arquivos...
echo Copiando DataServer...
xcopy /Y /I "C:\Workspace\TMProject-Free\Source servidor\Debug\DataServer.exe" "C:\Workspace\TMProject-Free\Release\DataServer\"
if %errorlevel% neq 0 goto erro
echo Copiando GameServer...
xcopy /Y /I "C:\Workspace\TMProject-Free\Source servidor\Debug\GameServer.exe" "C:\Workspace\TMProject-Free\Release\GameServer\"
if %errorlevel% neq 0 goto erro
echo Copiando WYDestiny...
xcopy /Y /I "C:\Workspace\TMProject-Free\Source cliente\Debug\WYDestiny.exe" "C:\Workspace\TMProject-Free\WYDESTINY\"
if %errorlevel% neq 0 goto erro
echo Todos os arquivos foram copiados com sucesso.
goto fim
:erro
echo Ocorreu um erro durante a cópia dos arquivos.
goto fim
:fim
rem STARTA O SERVIDOR
rem Defina o diretório de trabalho atual para o local do arquivo .bat
cd /d "%~dp0"
rem Defina o diretório de trabalho para DataServer e inicie DataServer.exe
cd "DataServer"
start "DataServer" "DataServer.exe"
rem Defina o diretório de trabalho para DataServer e inicie GameServer.exe
cd "..\GameServer"
start "Game Server" "GameServer.exe"
echo Iniciado com sucesso!
rem RODA O GAME
"C:\Workspace\TMProject-Free\WYDESTINY\WYDestiny.exe"
endlocal
exit