@echo off
title L2-HeroCraft: Game Server Console
:start
echo Starting L2-HeroCraft GameServer.
echo.
REM Размер буфера
set JAVA_OPTS=%JAVA_OPTS% -XX:PermSize=128m
set JAVA_OPTS=%JAVA_OPTS% -XX:MaxPermSize=256m
REM Минимум и максимум выделяемой памяти
REM Минимальнле значение для запуска с геодатой: 1.5G
REM Минимальное значение для забуска без геодаты: 1G
REM -Xms и -Xmx должны быть всегда равны друг другу.
set JAVA_OPTS=%JAVA_OPTS% -Xmn512m
set JAVA_OPTS=%JAVA_OPTS% -Xms1024m
set JAVA_OPTS=%JAVA_OPTS% -Xmx1024m
REM Настройки сборщика мусора и оптимизации
set JAVA_OPTS=%JAVA_OPTS% -Xnoclassgc
set JAVA_OPTS=%JAVA_OPTS% -XX:+AggressiveOpts
set JAVA_OPTS=%JAVA_OPTS% -XX:TargetSurvivorRatio=90
set JAVA_OPTS=%JAVA_OPTS% -XX:SurvivorRatio=16
set JAVA_OPTS=%JAVA_OPTS% -XX:MaxTenuringThreshold=12
set JAVA_OPTS=%JAVA_OPTS% -XX:+UseParNewGC
set JAVA_OPTS=%JAVA_OPTS% -XX:+UseConcMarkSweepGC
set JAVA_OPTS=%JAVA_OPTS% -XX:+CMSIncrementalMode
set JAVA_OPTS=%JAVA_OPTS% -XX:+CMSIncrementalPacing
set JAVA_OPTS=%JAVA_OPTS% -XX:+CMSParallelRemarkEnabled
REM Для 64-битных систем опция -XX:+UseCompressedOops уменьшает расход памяти и общую производительность
REM set JAVA_OPTS=%JAVA_OPTS% -XX:+UseCompressedOops
set JAVA_OPTS=%JAVA_OPTS% -XX:UseSSE=3
set JAVA_OPTS=%JAVA_OPTS% -XX:+UseFastAccessorMethods
java -Xbootclasspath/p:./jsr167.jar -server %JAVA_OPTS% -cp config;../L2ServerLibs/* l2hc.commons.crypt.Datapack data data_crypted
REM Debug ...
REM java -Dfile.encoding=UTF-8 -cp config;./libs/* -Xmx1G -Xnoclassgc -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=7456 l2hc.gameserver.GameServer
if ERRORLEVEL 2 goto restart
if ERRORLEVEL 1 goto error
goto end
:restart
echo.
echo Server restarted ...
echo.
goto start
:error
echo.
echo Server terminated abnormaly ...
echo.
:end
echo.
echo Server terminated ...
echo.
pause