first commit
This commit is contained in:
227
Help/XServerQuery_ReadMe.txt
Normal file
227
Help/XServerQuery_ReadMe.txt
Normal file
@@ -0,0 +1,227 @@
|
|||||||
|
Modname: XServerQuery
|
||||||
|
Version: 2.1.1
|
||||||
|
Release date: 24. january 2022
|
||||||
|
Autor: (G)ott
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Index:
|
||||||
|
------
|
||||||
|
1. what is it?
|
||||||
|
2. Installation
|
||||||
|
3. Update
|
||||||
|
4. Settings
|
||||||
|
5. Changelog
|
||||||
|
6. Thanks
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1. What is it:
|
||||||
|
--------------
|
||||||
|
|
||||||
|
XServerQuery is a much-improved way of showing your server's current
|
||||||
|
information. There are new headings like "Spectators" and "Protection
|
||||||
|
Type" as well as the country of the current players. It also does more
|
||||||
|
then the same job like SecureValidate.
|
||||||
|
|
||||||
|
To show you your server's new information, you need the latest
|
||||||
|
XBrowser for the UT installation. Remember: XServerQuery is for the
|
||||||
|
server, XBrowser is for the client. They work together to bring you
|
||||||
|
all this new information. Also, if you using a server viewer page
|
||||||
|
(like statistics displayed on a webpage), you need to modify it.
|
||||||
|
|
||||||
|
For more information and to see how it works, follow this link:
|
||||||
|
http://wiki.beyondunreal.com/XServerQuery
|
||||||
|
|
||||||
|
If you find bugs, strange log entries or you have feedback, ideas or
|
||||||
|
anything else.. Support pages are unrealadmin.org and UT99.org
|
||||||
|
|
||||||
|
-> https://unrealadmin.org/forums/showthread.php?t=30595
|
||||||
|
-> https://ut99.org/viewtopic.php?t=3284
|
||||||
|
|
||||||
|
|
||||||
|
2. Installation:
|
||||||
|
----------------
|
||||||
|
|
||||||
|
- Extract the XServerQuery.u file to your Server's System directory.
|
||||||
|
|
||||||
|
- Stop your Server.
|
||||||
|
|
||||||
|
- Open your server's UnrealTournament.ini and then locate this
|
||||||
|
line in the ServerActors. When you do simply add a ';' at the front, so
|
||||||
|
your line looks like this:
|
||||||
|
|
||||||
|
;ServerActors=IpServer.UdpServerQuery
|
||||||
|
;ServerActors=IpServer.UdpServerUplink MasterServerAddress=utmaster.epicgames.com MasterServerPort=27900
|
||||||
|
;ServerActors=IpServer.UdpServerUplink MasterServerAddress=unreal.epicgames.com MasterServerPort=27900
|
||||||
|
|
||||||
|
|
||||||
|
- If you have SecureValidate installed:
|
||||||
|
|
||||||
|
;ServerActors=SecureValidate.SVUdpServerQuery
|
||||||
|
;ServerActors=SecureValidate.SVUdpServerUplink MasterServerAddress=utmaster.epicgames.com MasterServerPort=27900
|
||||||
|
;ServerActors=SecureValidate.SVUdpServerUplink MasterServerAddress=unreal.epicgames.com MasterServerPort=27900
|
||||||
|
|
||||||
|
|
||||||
|
- Now add the following new actors to your ServerActors list:
|
||||||
|
|
||||||
|
ServerActors=XServerQuery.XServerQuery
|
||||||
|
ServerActors=XServerQuery.XServerUplink MasterServerAddress=utmaster.epicgames.com MasterServerPort=27900
|
||||||
|
ServerActors=XServerQuery.XServerUplink MasterServerAddress=333networks.com MasterServerPort=27900
|
||||||
|
ServerActors=XServerQuery.XServerUplink MasterServerAddress=unreal.epicgames.com MasterServerPort=27900
|
||||||
|
|
||||||
|
- Now you have two options, choose one of them:
|
||||||
|
|
||||||
|
- a) Start and stop your server for short time. This will auto install default
|
||||||
|
settings in your server's UnrealTournament.ini.
|
||||||
|
|
||||||
|
- b) Add the following lines at the end of your server's UnrealTournament.ini:
|
||||||
|
|
||||||
|
[XServerQuery.XServerQuery]
|
||||||
|
netAddress=
|
||||||
|
homepage=www.example-hp.com
|
||||||
|
bSendMailURL=false
|
||||||
|
bShowProtection=hidden
|
||||||
|
bShowSpectators=true
|
||||||
|
bShowPlayerCountry=true
|
||||||
|
iMaxConnPerIPPerSec=2
|
||||||
|
iNumPacketsBeforBlock=8
|
||||||
|
iNumSecToBlockIP=5
|
||||||
|
bLogSpecialQuerys=true
|
||||||
|
bLogUnknownQuerys=true
|
||||||
|
bShowTimeStamp=true
|
||||||
|
bShowAdvancedTimeStamp=false
|
||||||
|
|
||||||
|
|
||||||
|
- Change the settings as you want them.
|
||||||
|
|
||||||
|
- If you want to use IpToCountry to show the current country of the players
|
||||||
|
and server, then you need to install IpToCountry from the included .zip file.
|
||||||
|
If you already are running IpToCountry then you are fine.
|
||||||
|
|
||||||
|
- Save your server's UnrealTournament.ini and restart your Server as usual.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
3. Update:
|
||||||
|
----------
|
||||||
|
|
||||||
|
- Stop your Server.
|
||||||
|
|
||||||
|
- Overwrite the XServerQuery.u in your Server's System directory with the new one
|
||||||
|
in this zip file.
|
||||||
|
|
||||||
|
- Update your settings as you want them (4. Settings).
|
||||||
|
|
||||||
|
- NOTE: "iNumPacketsBeforLog" dosn't exist anymore. Rename it to "iNumPacketsBeforBlock".
|
||||||
|
|
||||||
|
- Save your server's UnrealTournament.ini and restart your Server as usual.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
4. Settings:
|
||||||
|
------------
|
||||||
|
|
||||||
|
netAddress // This is optional and will only needed if the server don't returns
|
||||||
|
the real networkaddress for ITC.
|
||||||
|
// Server will auto set IP if found.
|
||||||
|
homepage // Returns your homepage if set. Adding "http://" or "https://" in front
|
||||||
|
of your page will enable the link function in XBrowser for it.
|
||||||
|
bSendMailURL // If true XSQ will send the admin e-mail with "mailto:" in front and
|
||||||
|
will enable the link function in XBrowser for it.
|
||||||
|
bShowProtection // Valid values are "true", "hidden" and something else mean "false". Its dependent on ACE!
|
||||||
|
// (if ACE is installed) e.g. hidden returns "ACE"; true returns "ACEv1.2f"
|
||||||
|
bShowSpectators // Spectator informations will send, if your server allows spectators.
|
||||||
|
False will hide spectators on the player list.
|
||||||
|
bShowPlayerCountry // Allow sending the players country, if IPtoCountry is installed.
|
||||||
|
iMaxConnPerIPPerSec // Spam security. How many requests can a client send per second. 2 is the minimum.
|
||||||
|
iNumPacketsBeforBlock // Spam security. After how many requests the server will block a client. 1 is the minimum.
|
||||||
|
iNumSecToBlockIP // Spam security. How many seconds before the server stops blocking a client.
|
||||||
|
bLogSpecialQuerys // Log query errors and 'secure' querys.
|
||||||
|
bLogUnknownQuerys // Log unknown querys.
|
||||||
|
bShowTimeStamp // Adds the time to the log.
|
||||||
|
bShowAdvancedTimeStamp // Additionally adds the date and milliseconds to the log (bShowTimeStamp must be true).
|
||||||
|
|
||||||
|
|
||||||
|
6. Changelog:
|
||||||
|
-------------
|
||||||
|
|
||||||
|
from 210 to 211
|
||||||
|
- fixed server will not shown, when ACE is installed and bShowProtection=true.
|
||||||
|
|
||||||
|
from 201 to 210
|
||||||
|
- added optional timestamp log.
|
||||||
|
- added config bShowTimeStamp & bShowAdvancedTimeStamp.
|
||||||
|
- fixed time check on query request.
|
||||||
|
- added config iNumSecToBlockIP.
|
||||||
|
- changed config iNumPacketsBeforLog to iNumPacketsBeforBlock !!
|
||||||
|
- fixed players country memory.
|
||||||
|
- removed querytype "NewNet".
|
||||||
|
- changed config bShowProtection is now by default "hidden".
|
||||||
|
- changed querytype "Protection" - it has now only focus to ACE.
|
||||||
|
- some small changes and cleanups.
|
||||||
|
|
||||||
|
from 200 to 201
|
||||||
|
- fixed a small bug where the server runs in a small loop and gets a timeout while receiving a unknown querytype. (vanilla servers has the same bug ;) )
|
||||||
|
- some minor changes.
|
||||||
|
|
||||||
|
from 110 to 200
|
||||||
|
- added query spam security.
|
||||||
|
- added config iMaxConnPerIPPerSec & iNumPacketsBeforLog.
|
||||||
|
- changed config bShowProtection to a multi bool.
|
||||||
|
- removed config bShowCPName.
|
||||||
|
- removed config ServerCountry.
|
||||||
|
- renamed config ServerIP to NetAddress.
|
||||||
|
- added a country memory for players and server. This will stop spamming ItC.
|
||||||
|
- added "NewNet" as QueryType. If found, return the version. eg.: 0.9
|
||||||
|
- changed the player time: the time will now return seconds instead minutes.
|
||||||
|
- changed "RemainingTime" -> if bOverTime, return ElapsedTime.
|
||||||
|
- added log prefix.
|
||||||
|
- renamed class "UdpXServerQuery" to "XServerQuery".
|
||||||
|
- added new class "XServerUplink".
|
||||||
|
--> This does the same like SecureValidate.SVUdpServerUplink.
|
||||||
|
--> changed default MasterServerAddress from master0.gamespy.com to utmaster.epicgames.com.
|
||||||
|
|
||||||
|
from 105 to 110
|
||||||
|
- added more info logs.
|
||||||
|
- added config bLogSpecialQuerys & bLogUnknownQuerys.
|
||||||
|
- added config ServerCountry (use it if ServerIP not set).
|
||||||
|
- fixed problem, sending players on nexgen servers befor game is started.
|
||||||
|
- fixed players time.
|
||||||
|
- added auto saving default config on first installation.
|
||||||
|
- some small changes.
|
||||||
|
|
||||||
|
from 104 to 105
|
||||||
|
- added crash-protection of Secure Validate.
|
||||||
|
- added \teams\ as QueryType to support the UT Watcher program.
|
||||||
|
- added new config "bSendMailURL" (link-support for the new XBrowser > 110).
|
||||||
|
- renamed "ServerAddress" to "ServerIP".
|
||||||
|
|
||||||
|
from 103 to 104
|
||||||
|
- fixed a bug with hidden spectators (part 2).
|
||||||
|
- fixed problems with server country.
|
||||||
|
- fixed some minor bugs.
|
||||||
|
|
||||||
|
from 102 to 103
|
||||||
|
- fixed a bug with hidden spectators (part 1).
|
||||||
|
|
||||||
|
from 101 to 102
|
||||||
|
- added querytype "RemainingTime".
|
||||||
|
- added UTPure to the protection list.
|
||||||
|
- fixed a mistake with the querytype "Protaction"/"Protection".
|
||||||
|
- fixed some minor bugs.
|
||||||
|
|
||||||
|
from 100 to 101
|
||||||
|
- added new optional config -> ServerAddress, to bypass a unknown bug with the
|
||||||
|
servers networkaddress.
|
||||||
|
- fixed some problems with the country support.
|
||||||
|
|
||||||
|
|
||||||
|
6. Thanks:
|
||||||
|
----------
|
||||||
|
|
||||||
|
- A big thanks goes to gopostal for creating the readme.
|
||||||
|
- The Crash-Protection of SecureValidate is working with XSQ. Thanks goes to JustDoIt.
|
||||||
|
- For the suggestion to add SecureValidate, big thanks to Face.
|
||||||
|
- Added \teams\ as QueryType to support the UT Watcher program. Thanks goes to El Muerte.
|
||||||
|
- Last but not least, the UT community.
|
||||||
3
Readme.md
Normal file
3
Readme.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# XServerQuery Release GIT repository
|
||||||
|
|
||||||
|
checkout official release thread: https://ut99.org/viewtopic.php?f=34&t=6061
|
||||||
91
Run.sh
Normal file
91
Run.sh
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||||
|
OUTPUT_DIR="$2"
|
||||||
|
CFG_FILE="$3"
|
||||||
|
DEFAULT_CFG_FILE=UnrealTournament.ini
|
||||||
|
|
||||||
|
|
||||||
|
function install() {
|
||||||
|
cp $SCRIPT_DIR/Help $OUTPUT_DIR/Help -Rf
|
||||||
|
cp $SCRIPT_DIR/System $OUTPUT_DIR/System -Rf
|
||||||
|
|
||||||
|
echo install ok
|
||||||
|
}
|
||||||
|
|
||||||
|
function enable() {
|
||||||
|
# Warning: ugly hack with sed to allow multiple key instances
|
||||||
|
#crudini --set $OUTPUT_DIR/System/$CFG_FILE 'Engine.GameEngine' _ServerPackages $SSBBaseName
|
||||||
|
#sed -i 's/_ServerPackages/ServerPackages/g' $OUTPUT_DIR/System/$CFG_FILE
|
||||||
|
#crudini --set $OUTPUT_DIR/System/$CFG_FILE 'Engine.GameEngine' _ServerActors $SSBBaseName.SmartSBServerActor
|
||||||
|
#sed -i 's/_ServerActors/ServerActors/g' $OUTPUT_DIR/System/$CFG_FILE
|
||||||
|
# TODO
|
||||||
|
|
||||||
|
echo enable ok
|
||||||
|
}
|
||||||
|
|
||||||
|
function disable() {
|
||||||
|
#sed -i "/ServerPackages[[:space:]]*=[[:space:]]*$SSBBaseName/d" $OUTPUT_DIR/System/$CFG_FILE
|
||||||
|
#sed -i "/ServerPackages[[:space:]]*=[[:space:]]*SmartSBStats/d" $OUTPUT_DIR/System/$CFG_FILE
|
||||||
|
#sed -i "/ServerActors[[:space:]]*=[[:space:]]*$SSBBaseName.SmartSBServerActor/d" $OUTPUT_DIR/System/$CFG_FILE
|
||||||
|
# TODO
|
||||||
|
|
||||||
|
echo disable ok
|
||||||
|
}
|
||||||
|
|
||||||
|
function show_help() {
|
||||||
|
echo
|
||||||
|
echo "Usage: $0 { install | enable | disable } <UT99_INSTALL_DIR> [<UT99_CONFIG_FILE>]"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
function check_cfg_file() {
|
||||||
|
if [ -z ${CFG_FILE} ]
|
||||||
|
then
|
||||||
|
echo "CFG_FILE is unset, setting it to $DEFAULT_CFG_FILE"
|
||||||
|
CFG_FILE=$DEFAULT_CFG_FILE
|
||||||
|
else
|
||||||
|
echo "CFG_FILE is set to '$CFG_FILE'"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f $OUTPUT_DIR/System/$CFG_FILE ]
|
||||||
|
then
|
||||||
|
echo "$OUTPUT_DIR/System/$CFG_FILE does not exist"
|
||||||
|
show_help
|
||||||
|
exit 9999 # die with error code 9999
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function check_game_dir() {
|
||||||
|
### Check if a directory does not exist ###
|
||||||
|
if [ ! -d $OUTPUT_DIR ]
|
||||||
|
then
|
||||||
|
echo "incorrect <UT99_INSTALL_DIR>"
|
||||||
|
show_help
|
||||||
|
exit 9999 # die with error code 9999
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
'install')
|
||||||
|
check_game_dir
|
||||||
|
install
|
||||||
|
;;
|
||||||
|
'enable')
|
||||||
|
check_game_dir
|
||||||
|
check_cfg_file
|
||||||
|
disable
|
||||||
|
enable
|
||||||
|
;;
|
||||||
|
'disable')
|
||||||
|
check_game_dir
|
||||||
|
check_cfg_file
|
||||||
|
disable
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
show_help
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
||||||
BIN
System/XServerQuery.u
Normal file
BIN
System/XServerQuery.u
Normal file
Binary file not shown.
Reference in New Issue
Block a user