adding OpenNelManager on docker
This commit is contained in:
parent
cd60df3e13
commit
27f2c50323
12 changed files with 631 additions and 61 deletions
|
@ -32,7 +32,7 @@ ENV HOSTNAME builder
|
||||||
|
|
||||||
RUN apt-get update ; \
|
RUN apt-get update ; \
|
||||||
apt-get dist-upgrade -y; \
|
apt-get dist-upgrade -y; \
|
||||||
DEBIAN_FRONTEND=noninteractive apt-get install -y apache2 apache2-utils autoconf autogen automake bison build-essential cmake cpputest default-libmysqlclient-dev fakeroot git libapache2-mod-php libboost-all-dev libfreetype6-dev libgif-dev libgl1-mesa-dev libjpeg62-turbo-dev liblua5.2-0 liblua5.2-dev liblzma-dev libogg-dev libopenal-dev libpng-dev libssh2-1-dev libssl-dev libtool libtool-bin libvorbis-dev libx11-dev libxml2-dev libxmu-dev libxrandr-dev libxrender-dev libxxf86vm-dev mercurial mysql-server php php-gd php-imagick php-mysql rrdtool unzip wget zlib1g-dev
|
DEBIAN_FRONTEND=noninteractive apt-get install -y apache2 apache2-utils autoconf autogen automake bison build-essential cmake cpputest default-libmysqlclient-dev fakeroot git libapache2-mod-php libboost-all-dev libfreetype6-dev libgif-dev libgl1-mesa-dev libjpeg62-turbo-dev liblua5.2-0 liblua5.2-dev liblzma-dev libogg-dev libopenal-dev libpng-dev libssh2-1-dev libssl-dev libtool libtool-bin libvorbis-dev libx11-dev libxml2-dev libxmu-dev libxrandr-dev libxrender-dev libxxf86vm-dev mercurial mysql-server php php-gd php-imagick php-mysql python3 python3-pip python3-bcrypt python3-venv rrdtool unzip wget zlib1g-dev python3-coverage python3-pep8
|
||||||
|
|
||||||
## Build & Install cpptest
|
## Build & Install cpptest
|
||||||
# Impossible to build release 1.1.0, 1.1.1, 1.1.2
|
# Impossible to build release 1.1.0, 1.1.1, 1.1.2
|
||||||
|
|
|
@ -20,8 +20,11 @@
|
||||||
declare DIRBUILD="/opt/build/"
|
declare DIRBUILD="/opt/build/"
|
||||||
declare DIRCODEUSE="/opt/build/opennel-code"
|
declare DIRCODEUSE="/opt/build/opennel-code"
|
||||||
declare DIRCODE="/opt/ref/opennel-code"
|
declare DIRCODE="/opt/ref/opennel-code"
|
||||||
|
declare DIRPYMANAGER="/opt/ref/opennel-pymanager"
|
||||||
declare CXXFLAGS=""
|
declare CXXFLAGS=""
|
||||||
declare -i DONTCOPYSOURCE=0
|
declare -i DONTCOPYSOURCE=0
|
||||||
|
declare -i BUILD_OPENNEL_CODE=1
|
||||||
|
declare -i PACKAGE_OPENNEL_PYMANAGER=1
|
||||||
|
|
||||||
function usage()
|
function usage()
|
||||||
{
|
{
|
||||||
|
@ -126,6 +129,10 @@ do
|
||||||
DIRCODE="${1#*=}"
|
DIRCODE="${1#*=}"
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
|
--opennel-pymanager-dir=*)
|
||||||
|
DIRPYMANAGER="${1#*=}"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
--cxxflags=*)
|
--cxxflags=*)
|
||||||
CXXFLAGS="$CXXFLAGS ${1#*=}"
|
CXXFLAGS="$CXXFLAGS ${1#*=}"
|
||||||
shift
|
shift
|
||||||
|
@ -135,6 +142,14 @@ do
|
||||||
DIRCODEUSE="$DIRCODE"
|
DIRCODEUSE="$DIRCODE"
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
|
--disable-build-opennel-code)
|
||||||
|
BUILD_OPENNEL_CODE=0
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
--disable-package-opennel-pymanager)
|
||||||
|
PACKAGE_OPENNEL_PYMANAGER=0
|
||||||
|
shift
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
msg_error "options '$1' not recognize"
|
msg_error "options '$1' not recognize"
|
||||||
usage
|
usage
|
||||||
|
@ -147,6 +162,7 @@ declare LOGFILE="${DIRBUILD}/build.log"
|
||||||
|
|
||||||
msg_debug "DIRBUILD:$DIRBUILD"
|
msg_debug "DIRBUILD:$DIRBUILD"
|
||||||
msg_debug "DIRCODE:$DIRCODE"
|
msg_debug "DIRCODE:$DIRCODE"
|
||||||
|
msg_debug "DIRPYMANAGER:$DIRPYMANAGER"
|
||||||
msg_debug "CMAKEOPTS:$CMAKEOPTS"
|
msg_debug "CMAKEOPTS:$CMAKEOPTS"
|
||||||
msg_debug "MAKEOPTS:$MAKEOPTS"
|
msg_debug "MAKEOPTS:$MAKEOPTS"
|
||||||
msg_debug "LOGFILE:$LOGFILE"
|
msg_debug "LOGFILE:$LOGFILE"
|
||||||
|
@ -156,23 +172,35 @@ msg_debug "DONTCOPYSOURCE:$DONTCOPYSOURCE"
|
||||||
msg_info "CREATE BUILD DIRECTORY"
|
msg_info "CREATE BUILD DIRECTORY"
|
||||||
mkdir -p ${DIRBUILD}/ || exit 2
|
mkdir -p ${DIRBUILD}/ || exit 2
|
||||||
|
|
||||||
if [[ $DONTCOPYSOURCE -eq 0 ]]
|
if [[ $PACKAGE_OPENNEL_PYMANAGER -ne 0 ]]
|
||||||
then
|
then
|
||||||
msg_info "COPY CODE"
|
msg_info "PACKAGE OPENNEL-PYMANAGER"
|
||||||
mkdir -p ${DIRBUILD}/opennel-code
|
mkdir -p /tmp/pymanager/tmp || exit 2
|
||||||
cp -pr $DIRCODE/* ${DIRBUILD}/opennel-code
|
cp -pr $DIRPYMANAGER/* /tmp/pymanager || exit 2
|
||||||
|
msg_debug "cd /tmp/pymanager; `which python3` setup.py bdist_wheel -d ${DIRBUILD} -b /tmp"
|
||||||
|
cd /tmp/pymanager; `which python3` setup.py bdist_wheel -d ${DIRBUILD} -b /tmp/pymanager/tmp || exit 2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg_info "PATCH CODE"
|
if [[ $BUILD_OPENNEL_CODE -ne 0 ]]
|
||||||
for patchfile in $(cat ${DIRCODEUSE}/patch/series)
|
then
|
||||||
do
|
if [[ $DONTCOPYSOURCE -eq 0 ]]
|
||||||
cd ${DIRCODEUSE}
|
then
|
||||||
patch_onlyifnotapply ${DIRCODEUSE}/patch/$patchfile
|
msg_info "COPY CODE"
|
||||||
done
|
DIRCODEUSE="$DIRBUILD/opennel-code"
|
||||||
|
mkdir -p ${DIRBUILD}/opennel-code || exit 2
|
||||||
|
cp -pr $DIRCODE/* ${DIRBUILD}/opennel-code || exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
msg_info "PREPARE BUILD"
|
msg_info "PATCH CODE"
|
||||||
msg_debug "cmake option : -DWITH_NEL=ON -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_STATIC_EXTERNAL=ON -DWITH_SYMBOLS=ON -DWITH_LUA52=ON -DWITH_RYZOM_PATCH=ON -DWITH_RYZOM_CUSTOM_PATCH_SERVER=ON ${CMAKEOPTS}"
|
for patchfile in $(cat ${DIRCODE}/patch/series)
|
||||||
cd ${DIRBUILD}; CXXFLAGS="$CXXFLAGS" cmake -DWITH_NEL=ON \
|
do
|
||||||
|
cd ${DIRCODEUSE}
|
||||||
|
patch_onlyifnotapply ${DIRCODE}/patch/$patchfile || exit 2
|
||||||
|
done
|
||||||
|
|
||||||
|
msg_info "PREPARE BUILD"
|
||||||
|
msg_debug "cd ${DIRBUILD}; CXXFLAGS="$CXXFLAGS" cmake -DWITH_NEL=ON -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_STATIC_EXTERNAL=ON -DWITH_SYMBOLS=ON -DWITH_LUA52=ON -DWITH_RYZOM_PATCH=ON -DWITH_RYZOM_CUSTOM_PATCH_SERVER=ON ${CMAKEOPTS} ${DIRCODEUSE}/code 1>>$LOGFILE 2>&1 "
|
||||||
|
cd ${DIRBUILD}; CXXFLAGS="$CXXFLAGS" cmake -DWITH_NEL=ON \
|
||||||
-DWITH_STATIC=ON \
|
-DWITH_STATIC=ON \
|
||||||
-DWITH_STATIC_DRIVERS=ON \
|
-DWITH_STATIC_DRIVERS=ON \
|
||||||
-DWITH_STATIC_EXTERNAL=ON \
|
-DWITH_STATIC_EXTERNAL=ON \
|
||||||
|
@ -183,9 +211,10 @@ cd ${DIRBUILD}; CXXFLAGS="$CXXFLAGS" cmake -DWITH_NEL=ON \
|
||||||
${CMAKEOPTS} \
|
${CMAKEOPTS} \
|
||||||
${DIRCODEUSE}/code 1>>$LOGFILE 2>&1 || exit 2
|
${DIRCODEUSE}/code 1>>$LOGFILE 2>&1 || exit 2
|
||||||
|
|
||||||
msg_info "BUILD START"
|
msg_info "BUILD START"
|
||||||
msg_debug "make option : $MAKEOPTS"
|
msg_debug "make option : $MAKEOPTS"
|
||||||
cd ${DIRBUILD}; VERBOSE=1 make $MAKEOPTS 1>>$LOGFILE 2>&1 || exit 2
|
cd ${DIRBUILD}; VERBOSE=1 make $MAKEOPTS 1>>$LOGFILE 2>&1 || exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
trap '' EXIT
|
trap '' EXIT
|
||||||
msg_info "BUILD END"
|
msg_info "BUILD END"
|
||||||
|
|
|
@ -67,6 +67,9 @@ options:
|
||||||
-m OPTS, --add-opts-docker=OPTS : Adding options on docker command (when build)
|
-m OPTS, --add-opts-docker=OPTS : Adding options on docker command (when build)
|
||||||
--only-build-server : adding option to build only server
|
--only-build-server : adding option to build only server
|
||||||
--opennel-code-dir=<Directory> : localization code khanat (khanat-opennel-code)
|
--opennel-code-dir=<Directory> : localization code khanat (khanat-opennel-code)
|
||||||
|
--opennel-pymanager-dir=<Directory> : localization code khanat (opennel-pymanager)
|
||||||
|
--disable-build-opennel-code : Disable build on opennel-code
|
||||||
|
--disable-package-opennel-pymanager : Disable package on opennel-pymanager
|
||||||
--dont-copy-source : disable copy source, work directly on source (apply patch)
|
--dont-copy-source : disable copy source, work directly on source (apply patch)
|
||||||
|
|
||||||
Example :
|
Example :
|
||||||
|
@ -104,6 +107,7 @@ calldir="$(dirname $0)"
|
||||||
basedir=$(cd $calldir; pwd)
|
basedir=$(cd $calldir; pwd)
|
||||||
rootdir="$(dirname $(dirname $(dirname $(dirname ${basedir}))))"
|
rootdir="$(dirname $(dirname $(dirname $(dirname ${basedir}))))"
|
||||||
codedir="$(dirname $rootdir)/khanat-opennel-code"
|
codedir="$(dirname $rootdir)/khanat-opennel-code"
|
||||||
|
pymanagerdir="$(dirname $rootdir)/opennel-pymanager"
|
||||||
|
|
||||||
while test $# -gt 0
|
while test $# -gt 0
|
||||||
do
|
do
|
||||||
|
@ -189,6 +193,10 @@ do
|
||||||
codedir="${1#*=}"
|
codedir="${1#*=}"
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
|
--opennel-pymanager-dir=*)
|
||||||
|
pymanagerdir="${1#*=}"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
-w|--clean-images-none)
|
-w|--clean-images-none)
|
||||||
CLEANIMAGENONE=1
|
CLEANIMAGENONE=1
|
||||||
shift
|
shift
|
||||||
|
@ -198,6 +206,14 @@ do
|
||||||
OPTION="$OPTION --dont-copy-source"
|
OPTION="$OPTION --dont-copy-source"
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
|
--disable-build-opennel-code)
|
||||||
|
OPTION="$OPTION --disable-build-opennel-code"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
--disable-package-opennel-pymanager)
|
||||||
|
OPTION="$OPTION --disable-package-opennel-pymanager"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
msg_error "options '$1' not recognize"
|
msg_error "options '$1' not recognize"
|
||||||
usage
|
usage
|
||||||
|
@ -240,6 +256,7 @@ msg_debug "[$(basename $0):$LINENO] CMAKEOPTS: '$CMAKEOPTS'"
|
||||||
msg_debug "[$(basename $0):$LINENO] DOCKEROPTS: '$DOCKEROPTS'"
|
msg_debug "[$(basename $0):$LINENO] DOCKEROPTS: '$DOCKEROPTS'"
|
||||||
msg_debug "[$(basename $0):$LINENO] DOCKERBUILDOPT: '$DOCKERBUILDOPT'"
|
msg_debug "[$(basename $0):$LINENO] DOCKERBUILDOPT: '$DOCKERBUILDOPT'"
|
||||||
msg_debug "[$(basename $0):$LINENO] codedir: '$codedir'"
|
msg_debug "[$(basename $0):$LINENO] codedir: '$codedir'"
|
||||||
|
msg_debug "[$(basename $0):$LINENO] pymanagerdir: '$pymanagerdir'"
|
||||||
msg_debug "[$(basename $0):$LINENO] OPTION: '$OPTION'"
|
msg_debug "[$(basename $0):$LINENO] OPTION: '$OPTION'"
|
||||||
|
|
||||||
msg_info "[$(basename $0):$LINENO] check khanat-opennel-code"
|
msg_info "[$(basename $0):$LINENO] check khanat-opennel-code"
|
||||||
|
@ -286,7 +303,8 @@ then
|
||||||
--hostname=builder \
|
--hostname=builder \
|
||||||
-u "$(id -u $USERNAME):$(id -g $USERNAME)" \
|
-u "$(id -u $USERNAME):$(id -g $USERNAME)" \
|
||||||
-v $rootdir/builder:/opt/ref/builder:ro \
|
-v $rootdir/builder:/opt/ref/builder:ro \
|
||||||
-v $codedir:/opt/ref/opennel-code:ro \
|
-v $codedir:/opt/ref/opennel-code:rw \
|
||||||
|
-v $pymanagerdir:/opt/ref/opennel-pymanager:rw \
|
||||||
-v $rootdir/build:/opt/build \
|
-v $rootdir/build:/opt/build \
|
||||||
-v /etc/localtime:/etc/localtime:ro \
|
-v /etc/localtime:/etc/localtime:ro \
|
||||||
${DOCKEROPTS} \
|
${DOCKEROPTS} \
|
||||||
|
@ -297,11 +315,12 @@ then
|
||||||
-u "$(id -u $USERNAME):$(id -g $USERNAME)" \
|
-u "$(id -u $USERNAME):$(id -g $USERNAME)" \
|
||||||
-v $rootdir/builder:/opt/ref/builder:ro \
|
-v $rootdir/builder:/opt/ref/builder:ro \
|
||||||
-v $codedir:/opt/ref/opennel-code:rw \
|
-v $codedir:/opt/ref/opennel-code:rw \
|
||||||
|
-v $pymanagerdir:/opt/ref/opennel-pymanager:ro \
|
||||||
-v $rootdir/build:/opt/build \
|
-v $rootdir/build:/opt/build \
|
||||||
-v /etc/localtime:/etc/localtime:ro \
|
-v /etc/localtime:/etc/localtime:ro \
|
||||||
${DOCKEROPTS} \
|
${DOCKEROPTS} \
|
||||||
${IMAGEDOCKER} \
|
${IMAGEDOCKER} \
|
||||||
/opt/ref/builder/${LOCALSRC}/build-under-docker.sh --add-opts-make="$MAKEOPTS" --add-opts-cmake="$CMAKEOPTS" --build-dir="/opt/${LOCALBUILDDIR}" --code-dir="/opt/ref/opennel-code" $OPTION || exit 2
|
/opt/ref/builder/${LOCALSRC}/build-under-docker.sh --add-opts-make="$MAKEOPTS" --add-opts-cmake="$CMAKEOPTS" --build-dir="/opt/${LOCALBUILDDIR}" --code-dir="/opt/ref/opennel-code" --opennel-pymanager-dir="/opt/ref/opennel-pymanager" $OPTION || exit 2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $CLEANDOCKER -ne 0 ]]
|
if [[ $CLEANDOCKER -ne 0 ]]
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>DOCKER KHANAT</title>
|
<title>Test Khanat</title>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
@ -69,24 +69,30 @@ table, th, td {
|
||||||
|
|
||||||
<body onload="setHref()">
|
<body onload="setHref()">
|
||||||
<p>
|
<p>
|
||||||
<div id='title_info'>KHANAT DOCKER ENVIRONMENT (TEST)</div>
|
<a>Home</a>
|
||||||
<div id='important_info'>
|
|
||||||
<?php
|
<?php
|
||||||
print "SERVER IP: ". getHostByName(gethostname());
|
if (file_exists('/home/gameserver/opennelmanager.flag')) {
|
||||||
|
echo "<a href=\"/opennelmanager.php\">OpenNelManager</a>";
|
||||||
|
} else {
|
||||||
|
echo "<a>OpenNelManager not used</a>";
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
</div>
|
|
||||||
<a href="/EnableJavascript" id="admin-href" >Administration</a>
|
<a href="/EnableJavascript" id="admin-href" >Administration</a>
|
||||||
<br/>
|
|
||||||
<a href="/phpmyadmin/">phpmyadmin</a>
|
<a href="/phpmyadmin/">phpmyadmin</a>
|
||||||
<br/>
|
|
||||||
<a href="/patch/">patch</a>
|
<a href="/patch/">patch</a>
|
||||||
|
</p>
|
||||||
|
<div id='title_info'>KHANAT SERVER DOCKER (TEST ENVIRONMENT)</div>
|
||||||
|
<div id='important_info'><?php print "SERVER IP: ". getHostByName(gethostname()); ?> </div>
|
||||||
<br/>
|
<br/>
|
||||||
<br/>
|
|
||||||
</div>
|
|
||||||
<div>
|
<div>
|
||||||
script to download and convert launcher on our instance:
|
script to download and convert launcher on our instance:
|
||||||
<a href="/prepare_environment_container_64.sh">prepare_environment_container_64.sh</a>
|
<a href="/prepare_environment_container_64.sh">prepare_environment_container_64.sh</a>
|
||||||
and after execute it.
|
and after execute it.
|
||||||
|
<div id='command_shell'>
|
||||||
|
wget <?php print getHostByName(gethostname());?>/prepare_environment_container_64.sh<br>
|
||||||
|
bash prepare_environment_container_64.sh<br>
|
||||||
|
(cd Khanat_Linux64;./khanat_client)
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
Account / Password
|
Account / Password
|
||||||
|
@ -129,6 +135,6 @@ print "SERVER IP: ". getHostByName(gethostname());
|
||||||
Use sudo to switch on root account
|
Use sudo to switch on root account
|
||||||
<div id='command_shell'>sudo bash</div>
|
<div id='command_shell'>sudo bash</div>
|
||||||
</div>
|
</div>
|
||||||
<p>PHP : <?php echo 'PHP version : ' . phpversion(); ?></p>
|
<p>Khanat Server Docker</p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
223
server/common/rootweb/opennelmanager.php
Normal file
223
server/common/rootweb/opennelmanager.php
Normal file
|
@ -0,0 +1,223 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Test Khanat States</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
#command_shell{
|
||||||
|
background: #F3E2A9;
|
||||||
|
border:3px solid #151515;
|
||||||
|
color: #000000;
|
||||||
|
margin:10px;
|
||||||
|
padding:3px;
|
||||||
|
top:40px;left:3%;right:3%;
|
||||||
|
text-align:left;
|
||||||
|
max-width:100vw;
|
||||||
|
}
|
||||||
|
#title_info{
|
||||||
|
background: #00FFFF;
|
||||||
|
border:3px solid #8A0808;
|
||||||
|
color: #000000;
|
||||||
|
font-size:20px;
|
||||||
|
font-weight:500;
|
||||||
|
margin:50px;
|
||||||
|
padding:3px;
|
||||||
|
top:40px;left:3%;right:3%;
|
||||||
|
text-align:center;
|
||||||
|
}
|
||||||
|
#important_info{
|
||||||
|
background: #A9E2F3;
|
||||||
|
border:3px solid #088A08;
|
||||||
|
color: #000000;
|
||||||
|
font-size:15px;
|
||||||
|
font-weight:500;
|
||||||
|
margin:30px;
|
||||||
|
padding:3px;
|
||||||
|
top:40px;left:3%;right:3%;
|
||||||
|
text-align:left;
|
||||||
|
}
|
||||||
|
table, th, td {
|
||||||
|
border: 1px solid black;
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
#alert_javascript{
|
||||||
|
background: #F3F781;
|
||||||
|
border:3px solid #610B0B;
|
||||||
|
color: #DF0101;
|
||||||
|
font-size:20px;
|
||||||
|
font-weight:700;
|
||||||
|
margin:0;
|
||||||
|
padding:3px;
|
||||||
|
top:40px;left:3%;right:3%;
|
||||||
|
text-align:center;
|
||||||
|
max-width:100vw;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
function setHref() {
|
||||||
|
document.getElementById('admin-href').href = window.location.protocol + "//" + window.location.hostname + ":40916/ams/";
|
||||||
|
}
|
||||||
|
function start(rooturl, cmd) {
|
||||||
|
//document.getElementById("info").innerHTML = "Start " + rooturl + " " + cmd;
|
||||||
|
var xhr = new XMLHttpRequest();
|
||||||
|
var url = rooturl + "/START";
|
||||||
|
//console.log(url);
|
||||||
|
xhr.open("POST", url, true);
|
||||||
|
xhr.setRequestHeader("content-type", "application/json");
|
||||||
|
xhr.onreadystatechange = function () {
|
||||||
|
console.log(xhr.readyState);
|
||||||
|
console.log(xhr.status);
|
||||||
|
if (xhr.readyState === 4 && xhr.status === 200) {
|
||||||
|
//var json = JSON.parse(xhr.responseText);
|
||||||
|
console.log(xhr.responseText);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var data = JSON.stringify({"name": cmd});
|
||||||
|
//console.log(data);
|
||||||
|
xhr.send(data);
|
||||||
|
}
|
||||||
|
function stop(rooturl, cmd) {
|
||||||
|
//document.getElementById("info").innerHTML = "Stop " + rooturl + " " + cmd;
|
||||||
|
var xhr = new XMLHttpRequest();
|
||||||
|
var url = rooturl + "/STOP";
|
||||||
|
//console.log(url);
|
||||||
|
xhr.open("POST", url, true);
|
||||||
|
xhr.setRequestHeader("content-type", "application/json");
|
||||||
|
xhr.onreadystatechange = function () {
|
||||||
|
console.log(xhr.readyState);
|
||||||
|
console.log(xhr.status);
|
||||||
|
if (xhr.readyState === 4 && xhr.status === 200) {
|
||||||
|
//var json = JSON.parse(xhr.responseText);
|
||||||
|
console.log(xhr.responseText);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var data = JSON.stringify({"name": cmd});
|
||||||
|
//console.log(data);
|
||||||
|
xhr.send(data);
|
||||||
|
}
|
||||||
|
var timeout = setTimeout("updateRefresh();",1000);
|
||||||
|
var enable = true;
|
||||||
|
var timer = 10;
|
||||||
|
function updateRefresh() {
|
||||||
|
//clearTimeout(timeout);
|
||||||
|
//timeout = setTimeout("updateRefresh();",10000);
|
||||||
|
//document.getElementById("refreshMsg").value = "Refresh";
|
||||||
|
timer = timer - 1;
|
||||||
|
if ( timer > 0 ) {
|
||||||
|
clearTimeout(timeout);
|
||||||
|
document.getElementById("refreshMsg").lastChild.textContent = timer + "s" ;
|
||||||
|
timeout = setTimeout("updateRefresh();",1000);
|
||||||
|
} else {
|
||||||
|
timer = 10;
|
||||||
|
location.reload(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function toggleRefresh()
|
||||||
|
{
|
||||||
|
if ( enable ) {
|
||||||
|
enable = false;
|
||||||
|
document.getElementById("refreshMsg").lastChild.textContent = "Off";
|
||||||
|
clearTimeout(timeout);
|
||||||
|
} else {
|
||||||
|
enable = true;
|
||||||
|
timer = 10;
|
||||||
|
document.getElementById("refreshMsg").lastChild.textContent = "10s";
|
||||||
|
clearTimeout(timeout);
|
||||||
|
timeout = setTimeout("updateRefresh();",1000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<noscript>
|
||||||
|
<div id='alert_javascript'>
|
||||||
|
This website need Javascript.<br>
|
||||||
|
Could you please enable Javascript?
|
||||||
|
</div>
|
||||||
|
</noscript>
|
||||||
|
|
||||||
|
<body onload="setHref()">
|
||||||
|
<p>
|
||||||
|
<a href="/" id="home" >Home</a>
|
||||||
|
<a>OpenNelManager</a>
|
||||||
|
<a href="/EnableJavascript" id="admin-href" >Administration</a>
|
||||||
|
<a href="/phpmyadmin/">phpmyadmin</a>
|
||||||
|
<a href="/patch/">patch</a>
|
||||||
|
</p>
|
||||||
|
<div id='title_info'>KHANAT SERVER DOCKER (TEST ENVIRONMENT - STATES)</div>
|
||||||
|
<?php
|
||||||
|
|
||||||
|
function get_port($filecfg)
|
||||||
|
{
|
||||||
|
// $ini_array = parse_ini_file($filecfg);
|
||||||
|
// return "${ini_array['port']}";
|
||||||
|
|
||||||
|
$fp = fopen($filecfg, "r");
|
||||||
|
if ($fp) {
|
||||||
|
while (($line = fgets($fp)) !== false) {
|
||||||
|
list($data, $comment) = explode('#', $line, 2);
|
||||||
|
list($key, $value) = explode('=', $line, 2);
|
||||||
|
$key = trim($key);
|
||||||
|
if ( $key == "port" ) {
|
||||||
|
return trim($value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fclose($fp);
|
||||||
|
}
|
||||||
|
return "8000";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (file_exists('/home/gameserver/opennelmanager.flag')) {
|
||||||
|
$cfgfile = "/home/gameserver/khanat/khaganat.cfg";
|
||||||
|
|
||||||
|
if (file_exists($cfgfile)) {
|
||||||
|
$info = get_port($cfgfile);
|
||||||
|
$rooturl = "http://" . getHostByName(gethostname()) . ":" . $info ;
|
||||||
|
$url = $rooturl . "/STATUSALL";
|
||||||
|
|
||||||
|
// Initiate curl
|
||||||
|
$ch = curl_init();
|
||||||
|
curl_setopt($ch, CURLOPT_URL,$url);
|
||||||
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||||
|
// Execute
|
||||||
|
$result=curl_exec($ch);
|
||||||
|
// Closing
|
||||||
|
curl_close($ch);
|
||||||
|
$data = json_decode($result,true);
|
||||||
|
///Count
|
||||||
|
$total=count($data);
|
||||||
|
echo '<div>Number command:'.$total.'<br/>';
|
||||||
|
echo "<table>";
|
||||||
|
echo "<tr><th>Command</th><th>Start</th><th>Stop</th><th>State</th><th>Log</th></tr>";
|
||||||
|
ksort($data);
|
||||||
|
foreach ($data as $key => $value)
|
||||||
|
{
|
||||||
|
if ( $value == 'started' ) {
|
||||||
|
$fond = "bgcolor=\"SpringGreen \"";
|
||||||
|
} else {
|
||||||
|
$fond = "bgcolor=\"Tomato\"";
|
||||||
|
}
|
||||||
|
list($type, $command) = explode(':', $key, 2);
|
||||||
|
echo "<tr><td>$command</td><td><button onclick=\"start('$rooturl', '$key')\">Start</button></td><td><button onclick=\"stop('$rooturl', '$key')\">Stop</button></td><td $fond>$value</td><td><a href=\"/opennelmanager_log.php?command=$key\">log</a></td></tr>";
|
||||||
|
}
|
||||||
|
echo "</table></div>";
|
||||||
|
} else {
|
||||||
|
echo "<a>OpenNelManager not used</a>";
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
echo "<a>OpenNelManager not actiavted</a>";
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
|
</p>
|
||||||
|
<div>
|
||||||
|
Command line :
|
||||||
|
<div id='command_shell'>
|
||||||
|
curl -XGET <?php print $url;?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p id="info"></p>
|
||||||
|
<p>Refresh : <button id="refreshMsg" size="10" onclick="toggleRefresh();"/>10s</button></p>
|
||||||
|
</body>
|
||||||
|
</html>
|
226
server/common/rootweb/opennelmanager_log.php
Normal file
226
server/common/rootweb/opennelmanager_log.php
Normal file
|
@ -0,0 +1,226 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Test Khanat Log</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
#command_shell{
|
||||||
|
background: #F3E2A9;
|
||||||
|
border:3px solid #151515;
|
||||||
|
color: #000000;
|
||||||
|
margin:10px;
|
||||||
|
padding:3px;
|
||||||
|
top:40px;left:3%;right:3%;
|
||||||
|
text-align:left;
|
||||||
|
max-width:100vw;
|
||||||
|
}
|
||||||
|
#title_info{
|
||||||
|
background: #00FFFF;
|
||||||
|
border:3px solid #8A0808;
|
||||||
|
color: #000000;
|
||||||
|
font-size:20px;
|
||||||
|
font-weight:500;
|
||||||
|
margin:50px;
|
||||||
|
padding:3px;
|
||||||
|
top:40px;left:3%;right:3%;
|
||||||
|
text-align:center;
|
||||||
|
}
|
||||||
|
#important_info{
|
||||||
|
background: #A9E2F3;
|
||||||
|
border:3px solid #088A08;
|
||||||
|
color: #000000;
|
||||||
|
font-size:15px;
|
||||||
|
font-weight:500;
|
||||||
|
margin:30px;
|
||||||
|
padding:3px;
|
||||||
|
top:40px;left:3%;right:3%;
|
||||||
|
text-align:left;
|
||||||
|
}
|
||||||
|
table, th, td {
|
||||||
|
border: 1px solid black;
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
#alert_javascript{
|
||||||
|
background: #F3F781;
|
||||||
|
border:3px solid #610B0B;
|
||||||
|
color: #DF0101;
|
||||||
|
font-size:20px;
|
||||||
|
font-weight:700;
|
||||||
|
margin:0;
|
||||||
|
padding:3px;
|
||||||
|
top:40px;left:3%;right:3%;
|
||||||
|
text-align:center;
|
||||||
|
max-width:100vw;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
function setHref() {
|
||||||
|
document.getElementById('admin-href').href = window.location.protocol + "//" + window.location.hostname + ":40916/ams/";
|
||||||
|
}
|
||||||
|
|
||||||
|
function send(rooturl, id) {
|
||||||
|
//document.getElementById("info").innerHTML = "send " + rooturl + ", " + document.getElementById(id).value;
|
||||||
|
var xhr = new XMLHttpRequest();
|
||||||
|
var url = rooturl + "/STDIN";
|
||||||
|
//console.log(url);
|
||||||
|
xhr.open("POST", url, true);
|
||||||
|
xhr.setRequestHeader("content-type", "application/json");
|
||||||
|
xhr.onreadystatechange = function () {
|
||||||
|
console.log(xhr.readyState);
|
||||||
|
console.log(xhr.status);
|
||||||
|
if (xhr.readyState === 4 && xhr.status === 200) {
|
||||||
|
//var json = JSON.parse(xhr.responseText);
|
||||||
|
console.log(xhr.responseText);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var data = JSON.stringify({"name": "<?php echo $_GET['command']; ?>", "action": document.getElementById(id).value});
|
||||||
|
//console.log(data);
|
||||||
|
xhr.send(data);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<noscript>
|
||||||
|
<div id='alert_javascript'>
|
||||||
|
This website need Javascript.<br>
|
||||||
|
Could you please enable Javascript?
|
||||||
|
</div>
|
||||||
|
</noscript>
|
||||||
|
|
||||||
|
<body onload="setHref()">
|
||||||
|
<p>
|
||||||
|
<a href="/" id="home" >Home</a>
|
||||||
|
<?php
|
||||||
|
if (file_exists('/home/gameserver/opennelmanager.flag')) {
|
||||||
|
echo "<a href=\"/opennelmanager.php\">OpenNelManager</a>";
|
||||||
|
} else {
|
||||||
|
echo "<a>opennelmanager not used</a>";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<a href="/EnableJavascript" id="admin-href" >Administration</a>
|
||||||
|
<a href="/phpmyadmin/">phpmyadmin</a>
|
||||||
|
<a href="/patch/">patch</a>
|
||||||
|
</p>
|
||||||
|
<div id='title_info'>KHANAT SERVER DOCKER (TEST ENVIRONMENT - LOG)</div>
|
||||||
|
<div id='important_info'><?php echo $_GET['command']; ?></div>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
|
||||||
|
function get_port($filecfg)
|
||||||
|
{
|
||||||
|
// $ini_array = parse_ini_file($filecfg);
|
||||||
|
// return "${ini_array['port']}";
|
||||||
|
|
||||||
|
$fp = fopen($filecfg, "r");
|
||||||
|
if ($fp) {
|
||||||
|
while (($line = fgets($fp)) !== false) {
|
||||||
|
list($data, $comment) = explode('#', $line, 2);
|
||||||
|
list($key, $value) = explode('=', $line, 2);
|
||||||
|
$key = trim($key);
|
||||||
|
if ( $key == "port" ) {
|
||||||
|
return trim($value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fclose($fp);
|
||||||
|
}
|
||||||
|
return "8000";
|
||||||
|
}
|
||||||
|
|
||||||
|
$cfgfile = "/home/gameserver/khanat/khaganat.cfg";
|
||||||
|
|
||||||
|
if (file_exists($cfgfile)) {
|
||||||
|
$info = get_port($cfgfile);
|
||||||
|
$rooturl = "http://" . getHostByName(gethostname()) . ":" . $info ;
|
||||||
|
$url = $rooturl . "/STDOUT";
|
||||||
|
|
||||||
|
// Initiate curl
|
||||||
|
$ch = curl_init();
|
||||||
|
curl_setopt($ch, CURLOPT_URL,$url);
|
||||||
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||||
|
$data = "{\"name\": \"${_GET['command']}\", \"first-line\": 0}";
|
||||||
|
|
||||||
|
$headers = array(
|
||||||
|
"GET /STDOUT HTTP/1.0",
|
||||||
|
'Content-type: application/json',
|
||||||
|
'Content-Length: ' . strlen($data)
|
||||||
|
);
|
||||||
|
|
||||||
|
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
||||||
|
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
|
||||||
|
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
|
||||||
|
// Execute
|
||||||
|
$result=curl_exec($ch);
|
||||||
|
// Closing
|
||||||
|
curl_close($ch);
|
||||||
|
// var_dump($result);
|
||||||
|
$data = json_decode($result,true);
|
||||||
|
// var_dump($data);
|
||||||
|
///Count
|
||||||
|
$total=count($data);
|
||||||
|
echo "<div>First line:${data['first-line']} Last line:${data['last-line']}<br/>";
|
||||||
|
echo "<table>";
|
||||||
|
echo "<tr><th>Pos</th><th>Date</th><th>Time</th><th>Zone</th><th>Type</th><th>Address</th><th>Program Line</th><th>Message</th></tr>";
|
||||||
|
ksort($data);
|
||||||
|
foreach ($data as $key => $value)
|
||||||
|
{
|
||||||
|
// 2018/08/03 10:45:36 CEST INF 442b0740 command.cpp 149
|
||||||
|
list($date, $hour, $timezone, $typesrc, $addr, $program, $line, $msg) = explode(' ', $value, 8);
|
||||||
|
|
||||||
|
if ( $key == "first-line" or $key == "last-line" )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
$type = substr( $typesrc, strlen($typesrc) - 3 );
|
||||||
|
if ( $type == 'INF' ) {
|
||||||
|
$fond = "bgcolor=\"SpringGreen \"";
|
||||||
|
} else if ( $type == 'DBG') {
|
||||||
|
$fond = "bgcolor=\"AQUAMARINE\"";
|
||||||
|
} else if ( $type == 'WRN') {
|
||||||
|
$fond = "bgcolor=\"Yellow\"";
|
||||||
|
} else if ( $type == 'ERR') {
|
||||||
|
$fond = "bgcolor=\"Tomato\"";
|
||||||
|
} else if ( $type == 'STT') {
|
||||||
|
$fond = "bgcolor=\"Yellow\"";
|
||||||
|
} else if ( $type == 'AST') {
|
||||||
|
$fond = "bgcolor=\"Yellow\"";
|
||||||
|
} else if ( $type == 'UKN') {
|
||||||
|
$fond = "bgcolor=\"Tomato\"";
|
||||||
|
} else {
|
||||||
|
$msg = "$typesrc $addr $program $line $msg";
|
||||||
|
$type = "?";
|
||||||
|
$addr = "";
|
||||||
|
$program = "";
|
||||||
|
$line = "";
|
||||||
|
$fond = "bgcolor=\"Tomato\"";
|
||||||
|
}
|
||||||
|
if ( $program != "" && $line != "" )
|
||||||
|
{
|
||||||
|
if ( substr( $program, strlen($program) - 4 ) != ".cpp" and substr( $program, strlen($program) - 2 ) != ".h" )
|
||||||
|
{
|
||||||
|
$msg = "$program $line $msg";
|
||||||
|
$program = "";
|
||||||
|
$line = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
echo "<tr><td>$key</td><td>$date</td><td>$hour</td><td>$timezone</td><td $fond>$type</td><td>$addr</td><td>$program $line</td><td $fond>$msg</td></tr>";
|
||||||
|
|
||||||
|
}
|
||||||
|
echo "</table></div>";
|
||||||
|
|
||||||
|
} else {
|
||||||
|
echo "<a>OpenNelManager not enabled</a>";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<br>
|
||||||
|
Send to STDIN: <input type="text" id="command" value="command" size="100"/>
|
||||||
|
<input type="submit" value="Submit" onclick="send('<?php echo $rooturl; ?>', 'command');"/>
|
||||||
|
<br>
|
||||||
|
</p>
|
||||||
|
<div>
|
||||||
|
Command line :
|
||||||
|
<div id='command_shell'>
|
||||||
|
curl -XGET --header "content-type: application/json" -d '<?php print "{\"name\": \"${_GET['command']}\", \"first-line\": 0}";?>' <?php print $url;?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p id="info"></p>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -21,22 +21,24 @@
|
||||||
# Global parameter
|
# Global parameter
|
||||||
##############################
|
##############################
|
||||||
##############################
|
##############################
|
||||||
[config]
|
[config:server]
|
||||||
# Define port listen (default 8000)
|
# Define port listen (default 8000)
|
||||||
port = 8000
|
port = 8000
|
||||||
|
|
||||||
# key
|
# Method http or https
|
||||||
keyfile = /home/gameserver/ca/appli/private/serverkey.pem
|
method = http
|
||||||
|
|
||||||
# certificate
|
|
||||||
certfile = /home/gameserver/ca/appli/certs/servercert.pem
|
|
||||||
|
|
||||||
# certification to check signature
|
|
||||||
ca_cert = /home/gameserver/ca/appli/certs/cachaincert.pem
|
|
||||||
|
|
||||||
# address listen (default all port)
|
# address listen (default all port)
|
||||||
address =
|
address =
|
||||||
|
|
||||||
|
[config:client]
|
||||||
|
# you can use curl as client
|
||||||
|
# like: curl -XGET http://127.0.0.1:8000/STATUSALL
|
||||||
|
# curl -XPOST http://127.0.0.1:8000/STARTALL
|
||||||
|
port = 8000
|
||||||
|
method = http
|
||||||
|
address = 127.0.0.1
|
||||||
|
|
||||||
##############################
|
##############################
|
||||||
##############################
|
##############################
|
||||||
# List all program we manage #
|
# List all program we manage #
|
||||||
|
@ -46,7 +48,7 @@ address =
|
||||||
##############################
|
##############################
|
||||||
# Admin Executor Service
|
# Admin Executor Service
|
||||||
##############################
|
##############################
|
||||||
[aes]
|
[command:aes]
|
||||||
# command to launch the program
|
# command to launch the program
|
||||||
command = ryzom_admin_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/log/khanat --nobreak --fulladminname=admin_executor_service --shortadminname=AES
|
command = ryzom_admin_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/log/khanat --nobreak --fulladminname=admin_executor_service --shortadminname=AES
|
||||||
# Path : where this program is launched
|
# Path : where this program is launched
|
||||||
|
@ -59,7 +61,7 @@ bufsize = 100
|
||||||
##############################
|
##############################
|
||||||
# bms_master : backup_service
|
# bms_master : backup_service
|
||||||
##############################
|
##############################
|
||||||
[bms_master]
|
[command:bms_master]
|
||||||
# command to launch the program
|
# command to launch the program
|
||||||
command = ryzom_backup_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid -P49990
|
command = ryzom_backup_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid -P49990
|
||||||
# Path : where this program is launched
|
# Path : where this program is launched
|
||||||
|
@ -67,7 +69,7 @@ path = /home/gameserver/khanat/server/
|
||||||
# size buffer log for each program launched (number line stdout)
|
# size buffer log for each program launched (number line stdout)
|
||||||
logsize = 1000
|
logsize = 1000
|
||||||
|
|
||||||
#[bms_pd_master]
|
#[command:bms_pd_master]
|
||||||
# # command to launch the program
|
# # command to launch the program
|
||||||
# command = ryzom_backup_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid -P49992
|
# command = ryzom_backup_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid -P49992
|
||||||
# # Path : where this program is launched
|
# # Path : where this program is launched
|
||||||
|
@ -78,7 +80,7 @@ logsize = 1000
|
||||||
##############################
|
##############################
|
||||||
# egs : entities_game_service
|
# egs : entities_game_service
|
||||||
##############################
|
##############################
|
||||||
[egs]
|
[command:egs]
|
||||||
# command to launch the program
|
# command to launch the program
|
||||||
command = ryzom_entities_game_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
command = ryzom_entities_game_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
||||||
# Path : where this program is launched
|
# Path : where this program is launched
|
||||||
|
@ -89,7 +91,7 @@ logsize = 1000
|
||||||
##############################
|
##############################
|
||||||
# gpms : gpm_service
|
# gpms : gpm_service
|
||||||
##############################
|
##############################
|
||||||
[gpms]
|
[command:gpms]
|
||||||
# command to launch the program
|
# command to launch the program
|
||||||
command = ryzom_gpm_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
command = ryzom_gpm_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
||||||
# Path : where this program is launched
|
# Path : where this program is launched
|
||||||
|
@ -100,7 +102,7 @@ logsize = 1000
|
||||||
##############################
|
##############################
|
||||||
# ios : input_output_service
|
# ios : input_output_service
|
||||||
##############################
|
##############################
|
||||||
[ios]
|
[command:ios]
|
||||||
# command to launch the program
|
# command to launch the program
|
||||||
command = ryzom_ios_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
command = ryzom_ios_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
||||||
# Path : where this program is launched
|
# Path : where this program is launched
|
||||||
|
@ -111,7 +113,7 @@ logsize = 1000
|
||||||
##############################
|
##############################
|
||||||
# rns : naming_service
|
# rns : naming_service
|
||||||
##############################
|
##############################
|
||||||
[rns]
|
[command:rns]
|
||||||
# command to launch the program
|
# command to launch the program
|
||||||
command = ryzom_naming_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
command = ryzom_naming_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
||||||
# Path : where this program is launched
|
# Path : where this program is launched
|
||||||
|
@ -122,7 +124,7 @@ logsize = 1000
|
||||||
##############################
|
##############################
|
||||||
# rws : welcome_service
|
# rws : welcome_service
|
||||||
##############################
|
##############################
|
||||||
[rws]
|
[command:rws]
|
||||||
# command to launch the program
|
# command to launch the program
|
||||||
command = ryzom_welcome_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
command = ryzom_welcome_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
||||||
# Path : where this program is launched
|
# Path : where this program is launched
|
||||||
|
@ -133,7 +135,7 @@ logsize = 1000
|
||||||
##############################
|
##############################
|
||||||
# ts : tick_service
|
# ts : tick_service
|
||||||
##############################
|
##############################
|
||||||
[ts]
|
[command:ts]
|
||||||
# command to launch the program
|
# command to launch the program
|
||||||
command = ryzom_tick_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
command = ryzom_tick_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
||||||
# Path : where this program is launched
|
# Path : where this program is launched
|
||||||
|
@ -144,7 +146,7 @@ logsize = 1000
|
||||||
##############################
|
##############################
|
||||||
# ms : mirror_service
|
# ms : mirror_service
|
||||||
##############################
|
##############################
|
||||||
[ms]
|
[command:ms]
|
||||||
# command to launch the program
|
# command to launch the program
|
||||||
command = ryzom_mirror_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
command = ryzom_mirror_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
||||||
# Path : where this program is launched
|
# Path : where this program is launched
|
||||||
|
@ -155,7 +157,7 @@ logsize = 1000
|
||||||
##############################
|
##############################
|
||||||
# ais_newbyland : ai_service
|
# ais_newbyland : ai_service
|
||||||
##############################
|
##############################
|
||||||
[ais_newbyland]
|
[command:ais_newbyland]
|
||||||
# command to launch the program
|
# command to launch the program
|
||||||
command = ryzom_ai_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid -mCommon:Newbieland:Post
|
command = ryzom_ai_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid -mCommon:Newbieland:Post
|
||||||
# Path : where this program is launched
|
# Path : where this program is launched
|
||||||
|
@ -166,7 +168,7 @@ logsize = 1000
|
||||||
##############################
|
##############################
|
||||||
# mfs : mail_forum_service
|
# mfs : mail_forum_service
|
||||||
##############################
|
##############################
|
||||||
[mfs]
|
[command:mfs]
|
||||||
# command to launch the program
|
# command to launch the program
|
||||||
command = ryzom_mail_forum_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
command = ryzom_mail_forum_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
||||||
# Path : where this program is launched
|
# Path : where this program is launched
|
||||||
|
@ -177,7 +179,7 @@ logsize = 1000
|
||||||
##############################
|
##############################
|
||||||
# su : shard_unifier_service
|
# su : shard_unifier_service
|
||||||
##############################
|
##############################
|
||||||
[su]
|
[command:su]
|
||||||
# command to launch the program
|
# command to launch the program
|
||||||
command = ryzom_shard_unifier_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
command = ryzom_shard_unifier_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
||||||
# Path : where this program is launched
|
# Path : where this program is launched
|
||||||
|
@ -188,7 +190,7 @@ logsize = 1000
|
||||||
##############################
|
##############################
|
||||||
# fes : frontend_service
|
# fes : frontend_service
|
||||||
##############################
|
##############################
|
||||||
[fes]
|
[command:fes]
|
||||||
# command to launch the program
|
# command to launch the program
|
||||||
command = ryzom_frontend_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
command = ryzom_frontend_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
||||||
# Path : where this program is launched
|
# Path : where this program is launched
|
||||||
|
@ -199,7 +201,7 @@ logsize = 1000
|
||||||
##############################
|
##############################
|
||||||
# sbs : session_browser_server
|
# sbs : session_browser_server
|
||||||
##############################
|
##############################
|
||||||
[sbs]
|
[command:sbs]
|
||||||
# command to launch the program
|
# command to launch the program
|
||||||
command = ryzom_session_browser_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
command = ryzom_session_browser_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
||||||
# Path : where this program is launched
|
# Path : where this program is launched
|
||||||
|
@ -210,7 +212,7 @@ logsize = 1000
|
||||||
##############################
|
##############################
|
||||||
# lgs : logger_service
|
# lgs : logger_service
|
||||||
##############################
|
##############################
|
||||||
[lgs]
|
[command:lgs]
|
||||||
# command to launch the program
|
# command to launch the program
|
||||||
command = ryzom_logger_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
command = ryzom_logger_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
||||||
# Path : where this program is launched
|
# Path : where this program is launched
|
||||||
|
@ -218,7 +220,7 @@ path = /home/gameserver/khanat/server/
|
||||||
# size buffer log for each program launched (number line stdout)
|
# size buffer log for each program launched (number line stdout)
|
||||||
logsize = 1000
|
logsize = 1000
|
||||||
|
|
||||||
# [mos]
|
# [command:mos]
|
||||||
# # command to launch the program
|
# # command to launch the program
|
||||||
# command = ryzom_monitor_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
# command = ryzom_monitor_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
||||||
# # Path : where this program is launched
|
# # Path : where this program is launched
|
||||||
|
@ -226,7 +228,7 @@ logsize = 1000
|
||||||
# # size buffer log for each program launched (number line stdout)
|
# # size buffer log for each program launched (number line stdout)
|
||||||
# logsize = 1000
|
# logsize = 1000
|
||||||
|
|
||||||
# [pdss]
|
# [command:pdss]
|
||||||
# # command to launch the program
|
# # command to launch the program
|
||||||
# command = ryzom_pd_support_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
# command = ryzom_pd_support_service -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
||||||
# # Path : where this program is launched
|
# # Path : where this program is launched
|
||||||
|
@ -237,7 +239,7 @@ logsize = 1000
|
||||||
##############################
|
##############################
|
||||||
# ras : admin_service
|
# ras : admin_service
|
||||||
##############################
|
##############################
|
||||||
[ras]
|
[command:ras]
|
||||||
# command to launch the program
|
# command to launch the program
|
||||||
command = ryzom_admin_service --fulladminname=admin_service --shortadminname=AS -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
command = ryzom_admin_service --fulladminname=admin_service --shortadminname=AS -A/home/gameserver/khanat/server -C/home/gameserver/khanat/server -L/home/gameserver/khanat/server/log --nobreak --writepid
|
||||||
# Path : where this program is launched
|
# Path : where this program is launched
|
||||||
|
|
|
@ -72,6 +72,25 @@ fi
|
||||||
source /home/gameserver/.bashrc
|
source /home/gameserver/.bashrc
|
||||||
|
|
||||||
|
|
||||||
|
####################################
|
||||||
|
# opennel-pymanager
|
||||||
|
####################################
|
||||||
|
msg_info "[$(basename $0):$LINENO] install/update opennel-pymanager"
|
||||||
|
last_pymanager_package=$(ls /opt/ref/pymanager/pymanager*.whl | head -n 1)
|
||||||
|
if [[ -n "$last_pymanager_package" ]]
|
||||||
|
then
|
||||||
|
pip3 show pymanager
|
||||||
|
if [[ $? -eq 0 ]]
|
||||||
|
then
|
||||||
|
msg_info "[$(basename $0):$LINENO] uninstall opennel-pymanager"
|
||||||
|
pip3 uninstall -y pymanager
|
||||||
|
fi
|
||||||
|
msg_info "[$(basename $0):$LINENO] install opennel-pymanager"
|
||||||
|
pip3 install $last_pymanager_package
|
||||||
|
else
|
||||||
|
msg_info "[$(basename $0):$LINENO] no package opennel-pymanager"
|
||||||
|
fi
|
||||||
|
|
||||||
####################################
|
####################################
|
||||||
# End
|
# End
|
||||||
####################################
|
####################################
|
||||||
|
|
|
@ -190,6 +190,10 @@ do
|
||||||
METHOD_START=5
|
METHOD_START=5
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
|
--start-with-manager)
|
||||||
|
METHOD_START=6
|
||||||
|
shift
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
msg_error "options '$1' not recognize"
|
msg_error "options '$1' not recognize"
|
||||||
usage
|
usage
|
||||||
|
@ -282,34 +286,49 @@ WHERE domain_id = 12;" || exit 2
|
||||||
# Start khanat
|
# Start khanat
|
||||||
#####################
|
#####################
|
||||||
msg_debug "Start khanat"
|
msg_debug "Start khanat"
|
||||||
|
rm /home/gameserver/opennelmanager.flag || echo ""
|
||||||
if [[ $METHOD_START -eq 0 ]]
|
if [[ $METHOD_START -eq 0 ]]
|
||||||
then
|
then
|
||||||
|
msg_debug "start with screen"
|
||||||
source /home/gameserver/.bashrc; export RYZOM_PATH=$KHANAT_PATH; cd "$RYZOM_PATH"; $KHANAT_HOME/khanat/tools/scripts/linux/shard start
|
source /home/gameserver/.bashrc; export RYZOM_PATH=$KHANAT_PATH; cd "$RYZOM_PATH"; $KHANAT_HOME/khanat/tools/scripts/linux/shard start
|
||||||
elif [[ $METHOD_START -eq 1 ]]
|
elif [[ $METHOD_START -eq 1 ]]
|
||||||
then
|
then
|
||||||
|
msg_debug "start with show-khanat-log"
|
||||||
/opt/ext/servercontainer_launch_service.sh
|
/opt/ext/servercontainer_launch_service.sh
|
||||||
sleep 10
|
sleep 10
|
||||||
tail -n+0 -f /home/gameserver/log/khanat/log.log
|
tail -n+0 -f /home/gameserver/log/khanat/log.log
|
||||||
elif [[ $METHOD_START -eq 2 ]]
|
elif [[ $METHOD_START -eq 2 ]]
|
||||||
then
|
then
|
||||||
|
msg_debug "start with show-status-nagios"
|
||||||
/opt/ext/servercontainer_launch_service.sh
|
/opt/ext/servercontainer_launch_service.sh
|
||||||
sleep 10
|
sleep 10
|
||||||
watch cat /home/gameserver/khanat/server/aes_nagios_report.txt
|
watch cat /home/gameserver/khanat/server/aes_nagios_report.txt
|
||||||
elif [[ $METHOD_START -eq 3 ]]
|
elif [[ $METHOD_START -eq 3 ]]
|
||||||
then
|
then
|
||||||
|
msg_debug "start with show-all-log"
|
||||||
/opt/ext/servercontainer_launch_service.sh
|
/opt/ext/servercontainer_launch_service.sh
|
||||||
sleep 10
|
sleep 10
|
||||||
tail -n+0 -f /home/gameserver/log/apache2/* /home/gameserver/log/mysql/* /home/gameserver/log/khanat/*
|
tail -n+0 -f /home/gameserver/log/apache2/* /home/gameserver/log/mysql/* /home/gameserver/log/khanat/*
|
||||||
elif [[ $METHOD_START -eq 4 ]]
|
elif [[ $METHOD_START -eq 4 ]]
|
||||||
then
|
then
|
||||||
|
msg_debug "start with "
|
||||||
/opt/ext/servercontainer_launch_service.sh
|
/opt/ext/servercontainer_launch_service.sh
|
||||||
sleep 10
|
sleep 10
|
||||||
watch /opt/ext/servercontainer_launch_status.sh --no-color
|
watch /opt/ext/servercontainer_launch_status.sh --no-color
|
||||||
elif [[ $METHOD_START -eq 5 ]]
|
elif [[ $METHOD_START -eq 5 ]]
|
||||||
then
|
then
|
||||||
|
msg_debug "start with show-status"
|
||||||
/opt/ext/servercontainer_launch_service.sh
|
/opt/ext/servercontainer_launch_service.sh
|
||||||
#sleep 10
|
#sleep 10
|
||||||
bash
|
bash
|
||||||
|
elif [[ $METHOD_START -eq 6 ]]
|
||||||
|
then
|
||||||
|
msg_debug "start with OpenNelManager"
|
||||||
|
touch /home/gameserver/opennelmanager.flag
|
||||||
|
python3 -m pymanager.manager -c /home/gameserver/khanat/khaganat.cfg --log DEBUG --filelog /home/gameserver/log/khanat/OpenNelManager.log --launch-program &
|
||||||
|
#sleep 10
|
||||||
|
#screen -t terminal /bin/bash -l
|
||||||
|
/bin/bash -l
|
||||||
else
|
else
|
||||||
msg_error 'Bad option'
|
msg_error 'Bad option'
|
||||||
exit 2
|
exit 2
|
||||||
|
|
|
@ -58,6 +58,7 @@ done
|
||||||
#/opt/ext/servercontainer_configure_world.sh || exit 2
|
#/opt/ext/servercontainer_configure_world.sh || exit 2
|
||||||
su -c "/opt/ext/servercontainer_configure_khanat.sh $OPTION" gameserver || msg_critical "[$(basename $0):$LINENO] Issue when configure khanat"
|
su -c "/opt/ext/servercontainer_configure_khanat.sh $OPTION" gameserver || msg_critical "[$(basename $0):$LINENO] Issue when configure khanat"
|
||||||
su -c "/opt/ext/servercontainer_configure_patch.sh $OPTION" gameserver || msg_critical "[$(basename $0):$LINENO] Issue when configure patch"
|
su -c "/opt/ext/servercontainer_configure_patch.sh $OPTION" gameserver || msg_critical "[$(basename $0):$LINENO] Issue when configure patch"
|
||||||
|
su -c '/opt/ext/servercontainer_configure_launcher.sh' gameserver || exit 2
|
||||||
|
|
||||||
msg_info "[$(basename $0):$LINENO] => END"
|
msg_info "[$(basename $0):$LINENO] => END"
|
||||||
exit 0
|
exit 0
|
||||||
|
|
|
@ -39,6 +39,7 @@ declare DOCKERBUILDOPT=""
|
||||||
declare DOCKERRUNOPT=""
|
declare DOCKERRUNOPT=""
|
||||||
declare CONFIGUREAUTO=""
|
declare CONFIGUREAUTO=""
|
||||||
declare UPDATEAUTO=""
|
declare UPDATEAUTO=""
|
||||||
|
declare -i CLEARTERMINAL=1
|
||||||
|
|
||||||
declare IMAGEGENERICSERVER="opennel/server_generic_debian_stretch_x86_64"
|
declare IMAGEGENERICSERVER="opennel/server_generic_debian_stretch_x86_64"
|
||||||
declare IMAGEKHANATSERVER="opennel/servercontainer_debian_stretch_x86_64"
|
declare IMAGEKHANATSERVER="opennel/servercontainer_debian_stretch_x86_64"
|
||||||
|
@ -49,6 +50,7 @@ declare DIRLOG="$ROOTDATAKHANAT/log"
|
||||||
declare DIRDATABASE="$ROOTDATAKHANAT/database"
|
declare DIRDATABASE="$ROOTDATAKHANAT/database"
|
||||||
declare ENVIFILE="$DIROUTPUT/khanat_config.sh"
|
declare ENVIFILE="$DIROUTPUT/khanat_config.sh"
|
||||||
declare DIRKHANAT="$ROOTDATAKHANAT/khanat"
|
declare DIRKHANAT="$ROOTDATAKHANAT/khanat"
|
||||||
|
declare DIRLOCAL="$ROOTDATAKHANAT/.local"
|
||||||
declare KHANAT_RESSOURCES_DIR=""
|
declare KHANAT_RESSOURCES_DIR=""
|
||||||
declare KHANAT_CLIENT_DATA_DIR=""
|
declare KHANAT_CLIENT_DATA_DIR=""
|
||||||
declare OPENNEL_CODE_DIR=""
|
declare OPENNEL_CODE_DIR=""
|
||||||
|
@ -188,30 +190,37 @@ do
|
||||||
;;
|
;;
|
||||||
--start-khanat-with-screen)
|
--start-khanat-with-screen)
|
||||||
METHODSTARTSERVER="--start-khanat-with-screen"
|
METHODSTARTSERVER="--start-khanat-with-screen"
|
||||||
|
CLEARTERMINAL=1
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
--start-khanat-with-khanat-log)
|
--start-khanat-with-khanat-log)
|
||||||
METHODSTARTSERVER="--show-khanat-log"
|
METHODSTARTSERVER="--show-khanat-log"
|
||||||
|
CLEARTERMINAL=1
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
--start-khanat-with-full-log)
|
--start-khanat-with-full-log)
|
||||||
METHODSTARTSERVER="--show-all-log"
|
METHODSTARTSERVER="--show-all-log"
|
||||||
|
CLEARTERMINAL=1
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
--start-khanat-with-watch-state)
|
--start-khanat-with-watch-state)
|
||||||
METHODSTARTSERVER="--show-status"
|
METHODSTARTSERVER="--show-status"
|
||||||
|
CLEARTERMINAL=1
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
--start-khanat-with-watch-state-nagios)
|
--start-khanat-with-watch-state-nagios)
|
||||||
METHODSTARTSERVER="--show-status-nagios"
|
METHODSTARTSERVER="--show-status-nagios"
|
||||||
|
CLEARTERMINAL=1
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
--start-khanat-with-bash-after)
|
--start-khanat-with-bash-after)
|
||||||
METHODSTARTSERVER="--bash-after-start"
|
METHODSTARTSERVER="--bash-after-start"
|
||||||
|
CLEARTERMINAL=1
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
--start-with-manager)
|
--start-with-manager)
|
||||||
METHODSTARTSERVER="--start-with-manager"
|
METHODSTARTSERVER="--start-with-manager"
|
||||||
|
CLEARTERMINAL=0
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
--client-version*)
|
--client-version*)
|
||||||
|
@ -481,6 +490,7 @@ then
|
||||||
msg_info "[$(basename $0):$LINENO] CONFIGURE KHANAT SERVER"
|
msg_info "[$(basename $0):$LINENO] CONFIGURE KHANAT SERVER"
|
||||||
mkdir -p $DIRLOG || exit 2
|
mkdir -p $DIRLOG || exit 2
|
||||||
mkdir -p $DIRDATABASE || exit 2
|
mkdir -p $DIRDATABASE || exit 2
|
||||||
|
mkdir -p ${DIRLOCAL} || exit 2
|
||||||
msg_debug "[$(basename $0):$LINENO] command : cd $rootdir; docker run -it --hostname=khanat \
|
msg_debug "[$(basename $0):$LINENO] command : cd $rootdir; docker run -it --hostname=khanat \
|
||||||
-v /etc/localtime:/etc/localtime:ro \
|
-v /etc/localtime:/etc/localtime:ro \
|
||||||
-v ${rootdir}/${LOCALBUILDDIR}/bin:/usr/local/bin:ro \
|
-v ${rootdir}/${LOCALBUILDDIR}/bin:/usr/local/bin:ro \
|
||||||
|
@ -492,6 +502,8 @@ then
|
||||||
-v ${rootdir}/$DIRDATABASE:/home/gameserver/database:rw \
|
-v ${rootdir}/$DIRDATABASE:/home/gameserver/database:rw \
|
||||||
-v ${rootdir}/$DIRKHANAT:/home/gameserver/khanat:rw \
|
-v ${rootdir}/$DIRKHANAT:/home/gameserver/khanat:rw \
|
||||||
-v ${rootdir}/server/debian/common/:/opt/ext:ro \
|
-v ${rootdir}/server/debian/common/:/opt/ext:ro \
|
||||||
|
-v ${rootdir}/${LOCALBUILDDIR}:/opt/ref/pymanager:ro \
|
||||||
|
-v ${rootdir}/${DIRLOCAL}:/home/gameserver/.local:rw \
|
||||||
${IMAGEKHANATSERVER} /opt/ext/servercontainer_configure_auto.sh"
|
${IMAGEKHANATSERVER} /opt/ext/servercontainer_configure_auto.sh"
|
||||||
cd $rootdir; docker run -it --hostname=khanat \
|
cd $rootdir; docker run -it --hostname=khanat \
|
||||||
-v /etc/localtime:/etc/localtime:ro \
|
-v /etc/localtime:/etc/localtime:ro \
|
||||||
|
@ -504,12 +516,17 @@ then
|
||||||
-v ${rootdir}/$DIRDATABASE:/home/gameserver/database:rw \
|
-v ${rootdir}/$DIRDATABASE:/home/gameserver/database:rw \
|
||||||
-v ${rootdir}/$DIRKHANAT:/home/gameserver/khanat:rw \
|
-v ${rootdir}/$DIRKHANAT:/home/gameserver/khanat:rw \
|
||||||
-v ${rootdir}/server/debian/common/:/opt/ext:ro \
|
-v ${rootdir}/server/debian/common/:/opt/ext:ro \
|
||||||
|
-v ${rootdir}/${LOCALBUILDDIR}:/opt/ref/pymanager:ro \
|
||||||
|
-v ${rootdir}/${DIRLOCAL}:/home/gameserver/.local:rw \
|
||||||
${IMAGEKHANATSERVER} /opt/ext/servercontainer_configure_auto.sh $CONFIGUREAUTO || exit 2
|
${IMAGEKHANATSERVER} /opt/ext/servercontainer_configure_auto.sh $CONFIGUREAUTO || exit 2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $UPDATEDATA -ne 0 ]]
|
if [[ $UPDATEDATA -ne 0 ]]
|
||||||
then
|
then
|
||||||
msg_info "[$(basename $0):$LINENO] UPDATE KHANAT SERVER"
|
msg_info "[$(basename $0):$LINENO] UPDATE KHANAT SERVER"
|
||||||
|
mkdir -p $DIRLOG || exit 2
|
||||||
|
mkdir -p $DIRDATABASE || exit 2
|
||||||
|
mkdir -p ${DIRLOCAL} || exit 2
|
||||||
msg_debug "[$(basename $0):$LINENO] command: cd $rootdir; docker run -it --hostname=khanat \
|
msg_debug "[$(basename $0):$LINENO] command: cd $rootdir; docker run -it --hostname=khanat \
|
||||||
-v /etc/localtime:/etc/localtime:ro \
|
-v /etc/localtime:/etc/localtime:ro \
|
||||||
-v ${rootdir}/${LOCALBUILDDIR}/bin:/usr/local/bin:ro \
|
-v ${rootdir}/${LOCALBUILDDIR}/bin:/usr/local/bin:ro \
|
||||||
|
@ -521,6 +538,8 @@ then
|
||||||
-v ${rootdir}/$DIRDATABASE:/home/gameserver/database:rw \
|
-v ${rootdir}/$DIRDATABASE:/home/gameserver/database:rw \
|
||||||
-v ${rootdir}/$DIRKHANAT:/home/gameserver/khanat:rw \
|
-v ${rootdir}/$DIRKHANAT:/home/gameserver/khanat:rw \
|
||||||
-v ${rootdir}/server/debian/common/:/opt/ext:ro \
|
-v ${rootdir}/server/debian/common/:/opt/ext:ro \
|
||||||
|
-v ${rootdir}/${LOCALBUILDDIR}:/opt/ref/pymanager:ro \
|
||||||
|
-v ${rootdir}/${DIRLOCAL}:/home/gameserver/.local:rw \
|
||||||
${IMAGEKHANATSERVER} /opt/ext/servercontainer_update_auto.sh $UPDATEAUTO"
|
${IMAGEKHANATSERVER} /opt/ext/servercontainer_update_auto.sh $UPDATEAUTO"
|
||||||
cd $rootdir; docker run -it --hostname=khanat \
|
cd $rootdir; docker run -it --hostname=khanat \
|
||||||
-v /etc/localtime:/etc/localtime:ro \
|
-v /etc/localtime:/etc/localtime:ro \
|
||||||
|
@ -533,6 +552,8 @@ then
|
||||||
-v ${rootdir}/$DIRDATABASE:/home/gameserver/database:rw \
|
-v ${rootdir}/$DIRDATABASE:/home/gameserver/database:rw \
|
||||||
-v ${rootdir}/$DIRKHANAT:/home/gameserver/khanat:rw \
|
-v ${rootdir}/$DIRKHANAT:/home/gameserver/khanat:rw \
|
||||||
-v ${rootdir}/server/debian/common/:/opt/ext:ro \
|
-v ${rootdir}/server/debian/common/:/opt/ext:ro \
|
||||||
|
-v ${rootdir}/${LOCALBUILDDIR}:/opt/ref/pymanager:ro \
|
||||||
|
-v ${rootdir}/${DIRLOCAL}:/home/gameserver/.local:rw \
|
||||||
${IMAGEKHANATSERVER} /opt/ext/servercontainer_update_auto.sh $UPDATEAUTO || exit 2
|
${IMAGEKHANATSERVER} /opt/ext/servercontainer_update_auto.sh $UPDATEAUTO || exit 2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -553,10 +574,15 @@ then
|
||||||
-v ${rootdir}/server/debian/common/:/opt/ext:ro \
|
-v ${rootdir}/server/debian/common/:/opt/ext:ro \
|
||||||
-v $rootdir/build:/opt/build:ro \
|
-v $rootdir/build:/opt/build:ro \
|
||||||
-v ${OPENNEL_CODE_DIR}:/opt/ref/opennel-code:ro \
|
-v ${OPENNEL_CODE_DIR}:/opt/ref/opennel-code:ro \
|
||||||
|
-v ${rootdir}/${DIRLOCAL}:/home/gameserver/.local:rw \
|
||||||
|
-v ${rootdir}/server/common/rootweb/:/home/gameserver/rootweb:ro \
|
||||||
${IMAGEKHANATSERVER} /opt/ext/servercontainer_launch_auto.sh $METHODSTARTSERVER -d
|
${IMAGEKHANATSERVER} /opt/ext/servercontainer_launch_auto.sh $METHODSTARTSERVER -d
|
||||||
msg_info "[$(basename $0):$LINENO] CLEAR TERMINAL"
|
msg_info "[$(basename $0):$LINENO] CLEAR TERMINAL"
|
||||||
|
if [[ $CLEARTERMINAL -ne 0 ]]
|
||||||
|
then
|
||||||
clear
|
clear
|
||||||
tput clear
|
tput clear
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
trap '' EXIT
|
trap '' EXIT
|
||||||
|
|
Loading…
Reference in a new issue