Посмотрите видео ниже, чтобы узнать, как установить наш сайт в виде веб-приложения на главном экране.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
А файлы startLoginServer.sh и startGameServer.sh так и должны содержать в себе по 1 строке?Запускаем LS:
cd /home/user/serv/loginserver/ - путь к папке LS
./LoginServer.sh & - запуск сервера
tail -f log/stdout_login.log - просмотр лога запуска сервера
Запускаем GS:
cd /home/user/serv/gameserver/ - путь к папке GS
./GameServer.sh & - запуск скрипта GS
tail -f log/stdout.log - просмотр лога запуска GS
Проверяем список процессов, запущенных от имени user
ps axuww | grep user
"Убиваем" процессы по PID. Например - kill 90192
Если процесс не завершается, то "убиваем" все процессы начинающиеся на LS\GS:
kill $(ps auxww | grep user | grep Login | awk '{print $2}')
Моя шпаргалка. Может пригодится.
Да. Они ссылаются на твой другой файл ./loginserver_loop.shА файлы startLoginServer.sh и startGameServer.sh так и должны содержать в себе по 1 строке?
Ок спасибоДа. Они ссылаются на твой другой файл ./loginserver_loop.sh
А там уже полная строка запуска. Лучше туда вобще не лазить. Запускай со своего start.....sh
Ок спасибо
У человека сообщений не хватает на спасибо, потерпи
Для "спасибо" есть специально обученные кнопочки
Вот моя, мож кому тоже пригодится:Запускаем LS:
cd /home/user/serv/loginserver/ - путь к папке LS
./LoginServer.sh & - запуск сервера
tail -f log/stdout_login.log - просмотр лога запуска сервера
Запускаем GS:
cd /home/user/serv/gameserver/ - путь к папке GS
./GameServer.sh & - запуск скрипта GS
tail -f log/stdout.log - просмотр лога запуска GS
Проверяем список процессов, запущенных от имени user
ps axuww | grep user
"Убиваем" процессы по PID. Например - kill 90192
Если процесс не завершается, то "убиваем" все процессы начинающиеся на LS\GS:
kill $(ps auxww | grep user | grep Login | awk '{print $2}')
Моя шпаргалка. Может пригодится.
#!/bin/sh
#
# Path to main Lineage Lightning folder WITHOUT a trailing slash
RUNPATH="/home/Talos/L2JEternity"
# Ga eServer Launch Command
GAMEEXEC="java -Dfile.encoding=UTF-8 -server -Xms4G -Xmx16G -XX:+OptimizeFill -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=16 -XX:ConcGCThreads=5 -Duser.timezone=GMT+3 -cp config:./../libs/* l2e.gameserver.GameServer"
# LoginServer Launch Command
LOGINEXEC="java -Xms512m -Xmx512m -cp config:./../libs/* l2e.loginserver.LoginServer"
# DONT NO EDIT AFTER HERE
GAME_PID=$(ps ux | awk '/Game/ && !/awk/ {print $2}')
LOGIN_PID=$(ps ux | awk '/Login/ && !/awk/ {print $2}')
start() {
if [ -z "$LOGIN_PID" ]; then
echo -n "Starting Lineage Login Server..."
cd $RUNPATH/login
screen -A -m -d -S l2.login $LOGINEXEC
echo "OK"
else
echo "Lineage Login Server is already started..."
fi
if [ -z "$GAME_PID" ]; then
echo -n "Starting Lineage Game Server..."
cd $RUNPATH/game
screen -A -m -d -S l2.game $GAMEEXEC
echo "OK"
else
echo "Lineage Game Server is already started..."
fi
return 0
}
stop() {
echo -n "Stopping Lineage Server..."
if [ ! -z "$LOGIN_PID" ]; then
kill $LOGIN_PID
fi
if [ ! -z "$GAME_PID" ]; then
kill $GAME_PID
fi
echo "OK"
return 0
}
start_login() {
if [ -z "$LOGIN_PID" ]; then
echo -n "Starting Lineage Login Server..."
cd $RUNPATH/login
screen -A -m -d -S l2.login $LOGINEXEC
echo "OK"
else
echo "Lineage Login Server is already started..."
fi
return 0
}
start_game() {
if [ -z "$GAME_PID" ]; then
echo -n "Starting Lineage Game Server..."
cd $RUNPATH/game
screen -A -m -d -S l2.game $GAMEEXEC
echo "OK"
else
echo "Lineage Game Server is already started..."
fi
return 0
}
stop_login() {
if [ ! -z "$LOGIN_PID" ]; then
kill $LOGIN_PID
echo "Stopping Lineage Login Server..."
else
echo "Lineage Login Server is not started"
fi
return 0
}
stop_game() {
if [ ! -z "$GAME_PID" ]; then
kill $GAME_PID
echo "Stopping Lineage Game Server..."
else
echo "Lineage Game Server is not started"
fi
return 0
}
status() {
echo "[Lineage]============================"
if [ ! -z "$LOGIN_PID" ]; then
echo "[OK] Lineage Login Server is running..."
else
echo "[FAIL] Lineage Login Server is not running"
fi
if [ ! -z "$GAME_PID" ]; then
echo "[OK] Lineage Game Server is running..."
else
echo "[FAIL] Lineage Game Server is not running"
fi
return 0
}
help() {
echo "[Lineage Server] Help Section =================================="
echo "help = show this help text"
echo "start = Start all Server"
echo "stop = Stop all Server"
echo "start-login = Start Login Server Only"
echo "start-game = Start Game Server Only"
echo "stop-login = Stop Login Server Only"
echo "stop-game = Stop Game Server Only"
echo "status = Show Server status"
return 0
}
case "$1" in
start)
start
;;
stop)
stop
;;
start-login)
start_login
;;
start-game)
start_game
;;
stop-login)
stop_login
;;
stop-game)
stop_game
;;
help)
help
;;
status)
status
;;
*)
echo $"Usage: $0 (start|stop|stop-login|stop-game|start-login|start-game|status|help)"
exit 1
esac
exit $?
Может по тому что в линуксе проще зарегистрировать логин/гейм как службу в systemd и выполнять запуск/перезапуск/выключение и статус, как и включение/выключение службы в автозапуск при старте ОС одной командой. Почитай на досугеНе знаю почему до сих пор в java сборках есть скрипт запуска, но нет убить процесс
Почитал, не знаю на сколько правильно сделал, но вроде работает:Может по тому что в линуксе проще зарегистрировать логин/гейм как службу в systemd и выполнять запуск/перезапуск/выключение и статус, как и включение/выключение службы в автозапуск при старте ОС одной командой. Почитай на досуге
[Unit]
Description=L2-login server daemon
After=mysql.service
[Service]
Type=simple
RemainAfterExit=yes
WorkingDirectory=/home/talos/L2JEternity/login/
ExecStart=/opt/jdk-19.0.2/bin/java -Xms512m -Xmx512m -cp config:./../libs/* l2e.loginserver.LoginServer
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
[Unit]
Description=L2-game server daemon
After=L2-login.service mysql.service
[Service]
Type=simple
RemainAfterExit=yes
WorkingDirectory=/home/talos/L2JEternity/game/
ExecStart=/opt/jdk-19.0.2/bin/java -Dfile.encoding=UTF-8 -server -Xms4G -Xmx16G -XX:+OptimizeFill -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=16 -XX:ConcGCThreads=5 -Duser.timezone=GMT+3 -cp config:./../libs/* l2e.gameserver.GameServer
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
Это под какой из Линуксов? Хотелось бы пример под Убунту.Почитал, не знаю на сколько правильно сделал, но вроде работает:
Код:[Unit] Description=L2-login server daemon After=mysql.service [Service] Type=simple RemainAfterExit=yes WorkingDirectory=/home/talos/L2JEternity/login/ ExecStart=/opt/jdk-19.0.2/bin/java -Xms512m -Xmx512m -cp config:./../libs/* l2e.loginserver.LoginServer ExecReload=/bin/kill -HUP $MAINPID Restart=on-failure RestartSec=42s [Install] WantedBy=multi-user.target
Код:[Unit] Description=L2-game server daemon After=L2-login.service mysql.service [Service] Type=simple RemainAfterExit=yes WorkingDirectory=/home/talos/L2JEternity/game/ ExecStart=/opt/jdk-19.0.2/bin/java -Dfile.encoding=UTF-8 -server -Xms4G -Xmx16G -XX:+OptimizeFill -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=16 -XX:ConcGCThreads=5 -Duser.timezone=GMT+3 -cp config:./../libs/* l2e.gameserver.GameServer ExecReload=/bin/kill -HUP $MAINPID Restart=on-failure RestartSec=42s [Install] WantedBy=multi-user.target
Под systemd, который в т.ч. используется в Ubuntu. В интернете много гайдов, по которым можно собрать минимально рабочий пример службы, они не сложные. Посмотри их, довольно быстро разберешьсяЭто под какой из Линуксов? Хотелось бы пример под Убунту.
Да блин. Под сервера от Мобиуса, хрен разберешь что писать и как. У него там все через одно место .Под systemd, который в т.ч. используется в Ubuntu. В интернете много гайдов, по которым можно собрать минимально рабочий пример службы, они не сложные. Посмотри их, довольно быстро разберешься