59 Commits

Author SHA1 Message Date
bashermens
abc34e5eba Update readme.md 2026-01-13 00:26:38 +01:00
bashermens
9531a67476 Update 6_server-start.sh 2026-01-11 01:45:27 +01:00
bashermens
687e5ccb4f Update 4_server-compile.sh 2026-01-11 00:45:09 +01:00
bashermens
bdb6e914ab Update 6_server-start.sh 2026-01-11 00:40:43 +01:00
bashermens
6a9c39ec2b Update 6_server-start.sh 2026-01-11 00:33:27 +01:00
bashermens
4d100d16fa Update worldserver.conf 2026-01-10 23:15:22 +01:00
bashermens
ea1b6858d5 Update 6_server-start.sh 2026-01-10 22:47:59 +01:00
bashermens
558e5f0c65 Update 6_server-start.sh 2026-01-10 22:38:50 +01:00
bashermens
de0b739752 Update 6_server-start.sh 2026-01-10 22:35:01 +01:00
bashermens
2118660541 Update 6_server-start.sh 2026-01-10 22:32:36 +01:00
bashermens
621cacfc9e Update 6_server-start.sh 2026-01-10 22:30:36 +01:00
bashermens
d53b14921e Update 6_server-start.sh 2026-01-10 22:29:44 +01:00
bashermens
d4d015bd66 Update 6_server-start.sh 2026-01-10 22:28:06 +01:00
bashermens
bc29002bc4 Update 6_server-start.sh 2026-01-10 22:18:39 +01:00
bashermens
2a07a24b1b Update 6_server-start.sh 2026-01-10 22:16:47 +01:00
bashermens
8cf342bb3b Update 6_server-start.sh 2026-01-10 22:07:49 +01:00
bashermens
4559274331 Update 6_server-start.sh 2026-01-10 22:06:16 +01:00
bashermens
f04c6696da Update 6_server-start.sh 2026-01-10 21:51:06 +01:00
bashermens
6a68aaea1b Update 6_server-start.sh 2026-01-10 21:50:32 +01:00
bashermens
8d7a6ba040 Update 6_server-start.sh 2026-01-10 21:48:31 +01:00
bashermens
12f01fcebc Update 6_server-start.sh 2026-01-10 21:47:18 +01:00
bashermens
c4efbde132 Update 6_server-start.sh 2026-01-10 21:43:36 +01:00
bashermens
0729f8e380 Update 1_source-install.sh 2026-01-10 21:27:51 +01:00
bashermens
ed46446dc2 Update menu.sh 2026-01-10 21:27:02 +01:00
bashermens
9021b813a6 Update 6_server-start.sh 2026-01-10 21:25:09 +01:00
bashermens
c71f3ac49c Update 4_server-compile.sh 2026-01-10 21:15:24 +01:00
bashermens
3f0ff461bf Update menu.sh 2026-01-10 21:14:00 +01:00
bashermens
7298b563a7 Update setup.sh 2026-01-10 21:13:34 +01:00
bashermens
28c1c9e982 Update menu.sh 2026-01-10 21:12:45 +01:00
bashermens
1650263e19 Update menu.sh 2026-01-10 21:11:03 +01:00
bashermens
ce8edb03d1 Update setup.sh 2026-01-10 21:10:18 +01:00
bashermens
1c1c5de5b4 Update 4_server-compile.sh 2026-01-10 21:09:47 +01:00
bashermens
eefc652982 Update 6_server-start.sh 2026-01-10 21:06:43 +01:00
bashermens
92cc0b091e Update 6_server-start.sh 2026-01-10 20:49:30 +01:00
bashermens
d0f10cc175 Update 6_server-start.sh 2026-01-10 20:46:27 +01:00
bashermens
8089819dd4 Update 6_server-start.sh 2026-01-10 20:42:26 +01:00
bashermens
2ca4a186f3 Update 6_server-start.sh 2026-01-10 20:30:49 +01:00
bashermens
72b4a45763 Update 6_server-start.sh 2026-01-10 20:25:38 +01:00
bashermens
036e0bf4c0 Update 6_server-start.sh 2026-01-10 20:24:32 +01:00
bashermens
dc42136daa Update 6_server-start.sh 2026-01-10 20:23:56 +01:00
bashermens
acdc2cd5ef Update 6_server-start.sh 2026-01-10 20:22:27 +01:00
bashermens
05b036d26f Update 6_server-start.sh 2026-01-10 20:18:52 +01:00
bashermens
9bfc7ec2a5 Update 6_server-start.sh 2026-01-10 20:17:51 +01:00
bashermens
9fa3306079 Update 6_server-start.sh 2026-01-10 20:16:10 +01:00
bashermens
2110eaa085 Update 6_server-start.sh 2026-01-10 20:11:55 +01:00
bashermens
7e0624e11c Update 6_server-start.sh 2026-01-10 19:56:13 +01:00
bashermens
b7c47260d7 Update 6_server-start.sh 2026-01-10 19:54:44 +01:00
bashermens
fd7888f0db Update 6_server-start.sh 2026-01-10 19:51:56 +01:00
bashermens
dbce6dd149 Update 6_server-start.sh 2026-01-10 19:46:27 +01:00
bashermens
d98ab58161 Update 6_server-start.sh 2026-01-10 19:44:05 +01:00
bashermens
9133dfc95d Update 6_server-start.sh 2026-01-10 19:39:22 +01:00
bashermens
88abb286c2 Update menu.sh 2026-01-10 19:33:30 +01:00
bashermens
9049c90251 Update setup.sh 2026-01-10 19:32:33 +01:00
bashermens
4a8e9f2b78 Update 6_server-start.sh 2026-01-10 19:31:15 +01:00
bashermens
bd74d98366 Update 6_server-start.sh 2026-01-10 19:19:19 +01:00
bashermens
4ec40b245c Update 6_server-start.sh 2026-01-10 18:55:42 +01:00
bashermens
c69aac1a4d Update 6_server-start.sh 2026-01-10 18:09:32 +01:00
bashermens
6cafcd58a4 Update 4_server-compile.sh 2026-01-10 16:35:32 +01:00
bashermens
491c9df8a1 Update 4_server-compile.sh 2026-01-10 16:33:36 +01:00
7 changed files with 127 additions and 29 deletions

View File

@@ -9,6 +9,7 @@ Expansion = 2
MaxPlayerLevel = 80 MaxPlayerLevel = 80
GameType = 1 GameType = 1
PlayerLimit = 0 PlayerLimit = 0
LogsDir = "/tmp/ac/logs"
#------------------------------------------------------------------- #-------------------------------------------------------------------
# new player config # new player config

View File

@@ -205,6 +205,9 @@ Use the above (ifconfig) IP for the following router poort-forwarding and/or fir
.gps .gps
.go xyz .go xyz
/whisper bot nc +debug /whisper bot nc +debug
playerbots pmon toggle
playerbots pmon stack
.playerbots debug bg showpath=all (only work in BG)
``` ```
## useful bot commands ## useful bot commands
@@ -237,8 +240,6 @@ nc -pvp
# After init or talents respec make sure you reset bot AI (see unbot). # After init or talents respec make sure you reset bot AI (see unbot).
.playerbot bot add <name-of-character-on-account> (or account name instead of character name to add all characters on an account .playerbot bot add <name-of-character-on-account> (or account name instead of character name to add all characters on an account
# while in BG
.playerbots debug bg showpath=all
``` ```
Tank attack @dps attack in 10 seconds Tank attack @dps attack in 10 seconds

View File

@@ -51,6 +51,7 @@ then
libreadline-dev \ libreadline-dev \
libncurses-dev \ libncurses-dev \
mysql-server \ mysql-server \
gdb \
libboost-all-dev libboost-all-dev

View File

@@ -1,5 +1,13 @@
#!/bin/bash #!/bin/bash
if [[ "$1" == "debug" ]]; then
export CTYPE=RelWithDebInfo
export CFLAGS="-g -O0 -fno-inline"
export CXXFLAGS="-g -O0 -fno-inline"
else
export CTYPE=Release
fi
read -p "This will compile server. Are you sure? (Y)es/(N)o: " -n 1 -r read -p "This will compile server. Are you sure? (Y)es/(N)o: " -n 1 -r
echo " "; echo " ";
if [[ $REPLY =~ ^[Yy]$ ]]; if [[ $REPLY =~ ^[Yy]$ ]];
@@ -29,9 +37,10 @@ then
# https://www.azerothcore.org/wiki/linux-core-installation # https://www.azerothcore.org/wiki/linux-core-installation
########################################################################################## ##########################################################################################
sudo ${ROOT_DIR}/_server/azerothcore/acore.sh compiler clean sudo ${ROOT_DIR}/_server/azerothcore/acore.sh compiler clean
sudo ${ROOT_DIR}/_server/azerothcore/acore.sh compiler configure -DCMAKE_BUILD_TYPE=RelWithDebInfo sudo -E ${ROOT_DIR}/_server/azerothcore/acore.sh compiler configure
sudo ${ROOT_DIR}/_server/azerothcore/acore.sh compiler compile sudo ${ROOT_DIR}/_server/azerothcore/acore.sh compiler compile
########################################################################################## ##########################################################################################
# set folder rights to current user # set folder rights to current user
########################################################################################## ##########################################################################################

View File

@@ -1,34 +1,116 @@
#!/bin/bash #!/bin/bash
########################################################################################## ##########################################################################################
# handle the tmux sessions # Paths for logs and crash dumps
########################################################################################## ##########################################################################################
if tmux new-session -d -s $AUTHSERVER_SESSION; then export LOGS_PATH="/tmp/ac/logs"
echo "Created authserver session: $AUTHSERVER_SESSION" export CRASHES_PATH="/tmp/ac/crashes"
else rm -rf "$LOGS_PATH" "$CRASHES_PATH"
echo "Error when trying to create authserver session: $AUTHSERVER_SESSION" mkdir -p "$LOGS_PATH" "$CRASHES_PATH"
fi
echo " "
if tmux new-session -d -s $WORLDSERVER_SESSION; then ##########################################################################################
echo "Created worldserver session: $WORLDSERVER_SESSION" # Sessions
else ##########################################################################################
echo "Error when trying to create worldserver session: $WORLDSERVER_SESSION" AUTHSERVER_SESSION="auth-session"
fi WORLDSERVER_SESSION="world-session"
echo " "
if tmux send-keys -t $AUTHSERVER_SESSION "${SERVER_ROOT}/acore.sh run-authserver" C-m; then # Timestamps for log files
echo "Executed \"${SERVER_ROOT}/acore.sh run-authserver \" inside $AUTHSERVER_SESSION" TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
else AUTH_LOG="$LOGS_PATH/authserver_$TIMESTAMP.log"
echo "Error when executing \"${SERVER_ROOT}/acore.sh run-authserver\" inside $AUTHSERVER_SESSION" WORLD_LOG="$LOGS_PATH/worldserver_$TIMESTAMP.log"
fi GDB_LOG="$CRASHES_PATH/worldserver_gdb_$TIMESTAMP.log"
echo " "
if tmux send-keys -t $WORLDSERVER_SESSION "${SERVER_ROOT}/acore.sh run-worldserver" C-m; then ##########################################################################################
echo "Executed \"${SERVER_ROOT}/acore.sh run-worldserver\" inside $WORLDSERVER_SESSION" # Determine SERVER_ROOT based on script location (works with aliases)
else ##########################################################################################
echo "Error when executing \"${SERVER_ROOT}/acore.sh run-worldserver\" inside $WORLDSERVER_SESSION" ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
##########################################################################################
# Check debug toggle
##########################################################################################
DEBUG_MODE=0
if [[ "$1" == "debug" ]]; then
DEBUG_MODE=1
fi fi
echo " " ##########################################################################################
source ${ROOT_DIR}/script/menu.sh # Helper to start a tmux session
##########################################################################################
start_tmux_session() {
local session_name=$1
local command=$2
# If session exists, attach and return
if tmux has-session -t "$session_name" 2>/dev/null; then
echo "Tmux session '$session_name' already exists. Attaching..."
tmux attach-session -t "$session_name"
return 0
fi
# Create new session
if tmux new-session -d -s "$session_name"; then
echo "Created tmux session: $session_name"
else
echo "Error creating tmux session: $session_name"
return 1
fi
# Export environment variables inside tmux
tmux send-keys -t "$session_name" "export LOGS_PATH=$LOGS_PATH; export CRASHES_PATH=$CRASHES_PATH" C-m
# Run the command and pipe output to a log file
tmux send-keys -t "$session_name" "$command" C-m
echo "Running '$command' in $session_name"
echo
}
##########################################################################################
# Prepare commands
##########################################################################################
# Authserver via acore.sh for auto-restart
AUTH_CMD="${ROOT}/_server/azerothcore/acore.sh run-authserver"
# Worldserver
if [[ $DEBUG_MODE -eq 1 ]]; then
# via GDB with RelWithDebInfo or Debug build (debuginfod downloads missing symbols real-time)
echo "DEBUG MODE: Running worldserver under GDB"
WORLD_CMD="cd $ROOT/_server/azerothcore/env/dist/bin && \
gdb -ex \"set logging file $GDB_LOG\" \
-ex \"set debuginfod enabled on\" \
-ex \"set logging on\" \
-ex \"set pagination off\" \
-ex \"set confirm off\" \
-ex \"set print pretty on\" \
-ex \"set print elements 0\" \
-ex \"set print object on\" \
-ex \"catch signal SIGSEGV\" \
-ex \"catch signal SIGABRT\" \
-ex \"catch signal SIGFPE\" \
-ex \"catch signal SIGILL\" \
-ex \"run -c ../etc/worldserver.conf\" \
-ex \"bt full\" \
-ex \"info locals\" \
-ex \"info threads\" \
-ex \"quit\" \
--args ./worldserver"
else
# via acore.sh for auto-restart
WORLD_CMD="$ROOT/_server/azerothcore/acore.sh run-worldserver"
fi
##########################################################################################
# Start servers
##########################################################################################
start_tmux_session "$AUTHSERVER_SESSION" "$AUTH_CMD"
start_tmux_session "$WORLDSERVER_SESSION" "$WORLD_CMD"
##########################################################################################
# Optional: show menu if exists
##########################################################################################
if [[ -f "${ROOT}/script/menu.sh" ]]; then
source "${ROOT}/script/menu.sh"
fi

View File

@@ -5,9 +5,11 @@ echo "### menu - Shows menu"
echo "### install - Download the source source-code" echo "### install - Download the source source-code"
echo "### update - Updates source-code to latest version" echo "### update - Updates source-code to latest version"
echo "### build - Builds the server based on source-code" echo "### build - Builds the server based on source-code"
echo "### compile - Compiles the code based on the build server" echo "### compile - Compiles code with Release for hosting"
echo "### compile_debug - Compiles code with RelWithDebInfo for debugging"
echo "### config - Applies the server configration" echo "### config - Applies the server configration"
echo "### start - starts auth and world in tmux sessions server" echo "### start - starts auth and world in tmux sessions server"
echo "### start_debug - starts auth and world debug mode (GDB)"
echo "### stop - stops all sessions" echo "### stop - stops all sessions"
echo "### wow - logon world-server (tmux) session" echo "### wow - logon world-server (tmux) session"
echo "### auth - logon auth-server (tmux) session" echo "### auth - logon auth-server (tmux) session"

View File

@@ -86,8 +86,10 @@ echo "alias install='${ROOT_DIR}/script/1_source-install.sh'" >> ~/.bash_wow
echo "alias update='${ROOT_DIR}/script/2_source-update.sh'" >> ~/.bash_wow echo "alias update='${ROOT_DIR}/script/2_source-update.sh'" >> ~/.bash_wow
echo "alias build='${ROOT_DIR}/script/3_server-build.sh'" >> ~/.bash_wow echo "alias build='${ROOT_DIR}/script/3_server-build.sh'" >> ~/.bash_wow
echo "alias compile='${ROOT_DIR}/script/4_server-compile.sh'" >> ~/.bash_wow echo "alias compile='${ROOT_DIR}/script/4_server-compile.sh'" >> ~/.bash_wow
echo "alias compile_debug='${ROOT_DIR}/script/4_server-compile.sh debug'" >> ~/.bash_wow
echo "alias config='${ROOT_DIR}/script/5_server-configure.sh'" >> ~/.bash_wow echo "alias config='${ROOT_DIR}/script/5_server-configure.sh'" >> ~/.bash_wow
echo "alias start='${ROOT_DIR}/script/6_server-start.sh'" >> ~/.bash_wow echo "alias start='${ROOT_DIR}/script/6_server-start.sh'" >> ~/.bash_wow
echo "alias start_debug='${ROOT_DIR}/script/6_server-start.sh debug'" >> ~/.bash_wow
echo "alias stop='tmux kill-server'" >> ~/.bash_wow echo "alias stop='tmux kill-server'" >> ~/.bash_wow
echo "alias wow='cd ${SERVER_ROOT};tmux attach -t ${WORLDSERVER_SESSION}'" >> ~/.bash_wow echo "alias wow='cd ${SERVER_ROOT};tmux attach -t ${WORLDSERVER_SESSION}'" >> ~/.bash_wow
echo "alias auth='cd ${SERVER_ROOT};tmux attach -t ${AUTHSERVER_SESSION}'" >> ~/.bash_wow echo "alias auth='cd ${SERVER_ROOT};tmux attach -t ${AUTHSERVER_SESSION}'" >> ~/.bash_wow