V22 for ACE12

This commit is contained in:
2023-04-15 23:22:13 +02:00
commit 2858195d54
5 changed files with 618 additions and 0 deletions

474
Help/sbn_readme.html Normal file
View File

@@ -0,0 +1,474 @@
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<meta name=Generator content="Microsoft Word 15 (filtered)">
<style>
<!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:DengXian;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:"Microsoft YaHei";
panose-1:2 11 5 3 2 2 4 2 2 4;}
@font-face
{font-family:"\@Microsoft YaHei";}
@font-face
{font-family:"\@DengXian";
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:"Liberation Sans";}
@font-face
{font-family:"Unreal Tournament";}
@font-face
{font-family:"Noto Mono";}
@font-face
{font-family:"Liberation Mono";}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:12.0pt;
font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
{color:navy;
text-decoration:underline;}
p.a, li.a, div.a
{mso-style-name:"Текст в заданном формате";
margin:0in;
font-size:10.0pt;
font-family:"Liberation Mono";}
@page WordSection1
{size:595.3pt 841.9pt;
margin:56.7pt 56.7pt 56.7pt 56.7pt;}
div.WordSection1
{page:WordSection1;}
-->
</style>
</head>
<body lang=EN-US link=navy vlink="#954F72" style='word-wrap:break-word;
line-break:strict'>
<div class=WordSection1>
<p class=MsoNormal style='margin-left:56.7pt'><b><span style='font-size:18.0pt;
font-family:"Unreal Tournament";color:#E8A202;background:black'>SMART BAN</span></b></p>
<p class=MsoNormal><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>&nbsp;</span></p>
<p class=MsoNormal><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>&nbsp;</span></p>
<p class=MsoNormal><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>--------------</span><b><span
lang=RU style='font-family:"Noto Mono"'>DESCRIPTION</span></b><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'>--------------<br>
<br>
</span><span style='font-size:10.0pt;font-family:"Noto Mono"'>Smart m</span><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>od to ban (un-ban),
kick and transfer players in spectator mode.<br>
The player will be banned by IP, by SmartBan ID</span><span style='font-size:
10.0pt;font-family:"Noto Mono"'> (SBNID) and </span><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'>if the server uses ACE
anti-cheat </span><span style='font-size:10.0pt;font-family:"Noto Mono"'>(ACE)</span><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>, by ACE HWID.<br>
SmartBan (</span><span style='font-size:10.0pt;font-family:"Noto Mono"'>SBN</span><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>) has a graphical
interface.<br>
<br>
--------------</span><b><span lang=RU style='font-family:"Noto Mono"'>UPDATE</span></b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>--------------<br>
<br>
Copy the new </span><span style='font-size:10.0pt;font-family:"Noto Mono"'>sbnXX.u</span><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'> (X</span><span
style='font-size:10.0pt;font-family:"Noto Mono"'>X</span><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'> - new version SBN, Y</span><span
style='font-size:10.0pt;font-family:"Noto Mono"'>Y</span><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'> - old version SBN) to games
System folder.<br>
<br>
Change the all values </span><span style='font-size:10.0pt;font-family:"Noto Mono"'>sbnYY</span><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'> to </span><span
style='font-size:10.0pt;font-family:"Noto Mono"'>sbnXX i</span><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'>n the files:<br>
UnrealTournament.ini, SmartBan.ini, mapvote.ini (the name file may be different
depending on the mapvote you are using)<br>
<br>
EXAMPLE:<br>
<br>
UnrealTournament.ini:<br>
ServerPackages=</span><span style='font-size:10.0pt;font-family:"Noto Mono"'>sbnYY</span><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'> --&gt;
ServerPackages=</span><span style='font-size:10.0pt;font-family:"Noto Mono"'>sbnXX</span><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'><br>
ServerActors=</span><span style='font-size:10.0pt;font-family:"Noto Mono"'>sbnYY.SmartBanActor</span><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'> --&gt; ServerActors=</span><span
style='font-size:10.0pt;font-family:"Noto Mono"'>sbnXX.SmartBanActor</span><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'><br>
<br>
SmartBan.ini:<br>
[</span><span style='font-size:10.0pt;font-family:"Noto Mono"'>sbnYY.SmartBan</span><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>] --&gt; [</span><span
style='font-size:10.0pt;font-family:"Noto Mono"'>sbnXX.SmartBan</span><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>]<br>
<br>
--------------</span><b><span lang=RU style='font-family:"Noto Mono"'>INSTALLATION</span></b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>--------------<br>
<br>
Copy files <b>WinClient.u</b> and </span><b><span style='font-size:10.0pt;
font-family:"Noto Mono"'>sbnXX.u</span></b><span lang=RU style='font-size:10.0pt;
font-family:"Noto Mono"'> (X</span><span style='font-size:10.0pt;font-family:
"Noto Mono"'>X</span><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>
- version mod) to games System folder.</span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Noto Mono"'>If
using ACE anti-cheat on server copy also:</span></p>
<p class=MsoNormal><b><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>IACEv1</span></b><b><span
style='font-size:10.0pt;font-family:"Noto Mono"'>2</span></b><b><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'>.u</span></b><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'> </span><span
style='font-size:10.0pt;font-family:"Noto Mono"'>and <b>sbe12.u</b> for ACE1.2x</span></p>
<p class=MsoNormal><b><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>IACEv13.u
</span></b><span style='font-size:10.0pt;font-family:"Noto Mono"'>and <b>sbe13.u</b>
for ACE1.3x</span><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'><br>
<br>
<b>UnrealTournament.ini</b>:<br>
<b>[Engine.GameEngine]<br>
ServerPackages=</b></span><b><span style='font-size:10.0pt;font-family:"Noto Mono"'>sbnXX</span></b><b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'><br>
ServerActors=</span></b><b><span style='font-size:10.0pt;font-family:"Noto Mono"'>sbnXX.SmartBanActor</span></b><b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'> (or as a mutator: </span></b><b><span
style='font-size:10.0pt;font-family:"Noto Mono"'>sbnXX.SmartBan</span></b><b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>)</span></b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'><br>
<br>
After starting the server, the SmartBan.ini file with the mod settings is
created in the games System folder.<br>
Description of settings:</span></p>
<p class=MsoNormal><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'><br>
<b>[</b></span><b><span style='font-size:10.0pt;font-family:"Noto Mono"'>sbnXX.SmartBan</span></b><b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>]</span></b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'><br>
<b>bDebugLog=False</b><br>
<b>bNoLogFiles=</b></span><b><span style='font-size:10.0pt;font-family:"Noto Mono"'>False</span></b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'> (</span><span
style='font-size:10.0pt;font-family:"Noto Mono"'>I</span><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'>nfo below in L</span><span
style='font-size:10.0pt;font-family:"Noto Mono"'>OGS</span><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'>)<br>
<b>bKickLogsOnly=True</b> (</span><span style='font-size:10.0pt;font-family:
"Noto Mono"'>I</span><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>nfo
below in L</span><span style='font-size:10.0pt;font-family:"Noto Mono"'>OGS</span><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>)</span></p>
<p class=MsoNormal><b><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>bNoHWID=False</span></b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'> (</span><span
style='font-size:10.0pt;font-family:"Noto Mono"'>True</span><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'> - if </span><span
style='font-size:10.0pt;font-family:"Noto Mono"'>ACE</span><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'> is not used on the server,
False - if the server uses ACE and the ability to ban players also by ACE HWID)</span></p>
<p class=MsoNormal><b><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>HWIDWaitTimer=</span></b><b><span
style='font-size:10.0pt;font-family:"Noto Mono"'>10</span></b><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'> (Works if bNoHWID=</span><span
style='font-size:10.0pt;font-family:"Noto Mono"'>False</span><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'>. This is the time during
which SmartBan can receive HWID from ACE </span><span style='font-size:10.0pt;
font-family:"Noto Mono"'>and if no HWID kick player</span><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'>)</span></p>
<p class=MsoNormal><b><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>bHalfHWIDTimer=</span></b><b><span
style='font-size:10.0pt;font-family:"Noto Mono"'>False </span></b><span
style='font-size:10.0pt;font-family:"Noto Mono"'>(W</span><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'>orks if bNoHWID=</span><span
style='font-size:10.0pt;font-family:"Noto Mono"'>False. True - the HWIDWaitTimer
is halved if the player reconnects</span><span lang=RU style='font-size:10.0pt;
font-family:"Noto Mono"'>)<br>
</span><b><span style='font-size:10.0pt;font-family:"Noto Mono"'>bBypassFiring=False
</span></b><span style='font-size:10.0pt;font-family:"Noto Mono"'>(</span><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>Works if bNoHWID=</span><span
style='font-size:10.0pt;font-family:"Noto Mono"'>False. False - HWIDWaitTimer
starts after Fire or Typing in chat. True - HWIDWaitTimer starts immediadley
after player joins)</span></p>
<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Noto Mono"'>bCheckAce=True
</span></b><span style='font-size:10.0pt;font-family:"Noto Mono"'>(</span><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>Works if bNoHWID=</span><span
style='font-size:10.0pt;font-family:"Noto Mono"'>False</span><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'>. </span><span
style='font-size:10.0pt;font-family:"Noto Mono"'>True - quick check of ACE
install on the client without HWID check, if there is no ACE on the client then
started HWIDWaitTimer and if no HWID kick player)</span><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'><br>
<b>BannedPlayer[0]=(Name=&quot;&quot;,Id=&quot;&quot;,RT=&quot;&quot;,HW=&quot;&quot;,IP=&quot;&quot;)</b>
(Banned player details)<br>
<b>BannedPlayer[1]=(Name=&quot;&quot;,Id=&quot;&quot;,RT=&quot;&quot;,HW=&quot;&quot;,IP=&quot;&quot;)<br>
BannedPlayer[2]=(Name=&quot;&quot;,Id=&quot;&quot;,RT=&quot;&quot;,HW=&quot;&quot;,IP=&quot;&quot;)</b><br>
............<br>
<b>BannedPlayer[100]=(Name=&quot;&quot;,Id=&quot;&quot;,RT=&quot;&quot;,HW=&quot;&quot;,IP=&quot;&quot;)</b></span></p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><b><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>[</span></b><b><span
style='font-size:10.0pt;font-family:"Noto Mono"'>sbnXX.SmartBanKick</span></b><b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>]</span></b></p>
<p class=MsoNormal><b><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>bCenterText</span></b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>=True</span></p>
<p class=MsoNormal><b><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>bSmallFont</span></b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>=False</span></p>
<p class=MsoNormal><b><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>BannLine1</span></b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>=BANNED</span></p>
<p class=MsoNormal><b><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>BannLine2</span></b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>=Breaking server rules
or cheats</span></p>
<p class=MsoNormal><b><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>BannLine3</span></b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>=Admin:</span></p>
<p class=MsoNormal><b><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>KickLine1</span></b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>=KICKED</span></p>
<p class=MsoNormal><b><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>KickLine2</span></b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>=Breaking server rules
or cheats</span></p>
<p class=MsoNormal><b><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>KickLine3</span></b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>=Admin:</span></p>
<p class=MsoNormal><b><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>NoNameLine1</span></b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>=Access is possible</span></p>
<p class=MsoNormal><b><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>NonameLine2</span></b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>=by having a correct
name</span></p>
<p class=MsoNormal><b><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>NoNameLine3=</span></b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>Change name in Player
Setup</span></p>
<p class=MsoNormal><b><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>AceLine1</span></b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>=For play need OS
Windows + ACE anti-cheat</span></p>
<p class=MsoNormal><b><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>AceLine2</span></b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>=Also problems - slow
computers or bad connection</span></p>
<p class=MsoNormal><b><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>AceLine3</span></b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>=Admin:<br>
<br>
--------------</span><b><span lang=RU style='font-family:"Noto Mono"'>HOW TO
USE</span></b><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>--------------<br>
<br>
1. Log as Administrator or StealthAdmin<br>
2. To open the SBN graphics window type in console: <b>mutate smartban</b><br>
<br>
<b>BAN/KICK/SPECTATE:</b><br>
In the <b>Currents Player</b> column, select the player you want to ban or kick
or transfer in spectator mode and click the corresponding button.<br>
Banned player goes to <b>Banned Players</b> column. The kicked player will be
kicked from the server before the end of the current match.<br>
<br>
<b>UN-BAN:</b><br>
In the <b>Banned Players</b> column, select the player you want to un-ban and
click the un-ban button.</span></p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Noto Mono"'>MADE
SBN ADMIN:</span></b></p>
<p class=MsoNormal><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>An
<b>Options</b> Tab </span><span style='font-size:10.0pt;font-family:"Noto Mono"'>i</span><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>n the <b>Currents
Player</b> column, select the player you want </span><span style='font-size:
10.0pt;font-family:"Noto Mono"'>made SBN admin, optionally check the box
&quot;Allow Banning&quot; and</span><span lang=RU style='font-size:10.0pt;
font-family:"Noto Mono"'> click the </span><span style='font-size:10.0pt;
font-family:"Noto Mono"'>&quot;Add New Admin&quot;</span><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'> button. </span><span
style='font-size:10.0pt;font-family:"Noto Mono"'>SBN admins </span><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>goes to </span><b><span
style='font-size:10.0pt;font-family:"Noto Mono"'>Current Admins</span></b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'> column.<br>
<br>
<b>SETTINGS:</b><br>
In the <b>CONFIG</b> tab, the admin can change the SBN settings.</span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Noto Mono"'>In
the <b>TEXT</b> tab, </span><span lang=RU style='font-size:10.0pt;font-family:
"Noto Mono"'>t</span><span style='font-size:10.0pt;font-family:"Noto Mono"'>he </span><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>admin can change <a
name=tw-target-text></a>text in the window that kicked players see.<br>
<br>
--------------</span><b><span lang=RU style='font-family:"Noto Mono"'>SBN Admin</span></b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>--------------<br>
<br>
SmartBan includes the option of appointing up to 10 SBN Admin.<br>
An <b>Options</b> Tab in the Menu is available only to the Server Admin.<br>
Only the Server Admin can select or remove a SBN Admin.</span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Noto Mono"'>SBN
admin open </span><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>graphics
window type in console</span><span style='font-size:10.0pt;font-family:"Noto Mono"'>:
<b>mutate smartban</b></span><span lang=RU style='font-size:10.0pt;font-family:
"Noto Mono"'><br>
<br>
<b>SBN Admin Operations:</b><br>
1. The SBN Admin can only see the Kick/Ban Menu.<br>
2. The SBN Admin can only Kick a Player or send the Player to Spectate.<br>
3. The SBN Admin can Ban or Un-Ban a Player only if the Server Admin has ticked
the <b>Allow Banning.</b><br>
4. The SBN Admin is not a Server Admin and does not have any Server Admin rights.<br>
5. The SBN Admin is always an admin and does not need to login etc.<br>
6. The SBN Admin uses </span><span style='font-size:10.0pt;font-family:"Noto Mono"'>S</span><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>BNID as his/her login
Key.<br>
<br>
--------------</span><b><span lang=RU style='font-family:"Noto Mono"'>INFO</span></b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>--------------<br>
<br>
If </span><span style='font-size:10.0pt;font-family:"Noto Mono"'>ACE </span><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>is installed on the
server and bNoHWID=</span><span style='font-size:10.0pt;font-family:"Noto Mono"'>False</span><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'> in the SmartBan.ini
settings, then players</span><span lang=RU style='font-size:10.0pt;font-family:
"Noto Mono"'> </span><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>with
Linux/Mac, as well as players with Windows, who closed the ACE installation
window, will be kicked from the server. </span><span style='font-size:10.0pt;
font-family:"Noto Mono"'>T</span><span lang=RU style='font-size:10.0pt;
font-family:"Noto Mono"'>his is due to the fact that these players do not have </span><span
style='font-size:10.0pt;font-family:"Noto Mono"'>ACE</span><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'> installed and, accordingly,
they can use cheats.</span></p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Noto Mono"'>About</span><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'> HWIDWaitTimer:</span></p>
<p class=MsoNormal><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>-
</span><span style='font-size:10.0pt;font-family:"Noto Mono"'>If bCheckAce=False
recommended value HWIDWaitTimer=35 and above</span><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'>.</span><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'> </span><span
style='font-size:10.0pt;font-family:"Noto Mono"'>Result</span><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'> - </span><span
style='font-size:10.0pt;font-family:"Noto Mono"'>p</span><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'>layer will be kicked if SBN
does not receive HWID from ACE within 35 seconds. Decreasing HWIDWaitTimer can may
result in kicked off players with slower computers</span><span
style='font-size:10.0pt;font-family:"Noto Mono"'> or bad connections</span><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>. </span><span
style='font-size:10.0pt;font-family:"Noto Mono"'>Anyway t</span><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'>he problem is that SBN does
not always get HWID from ACE (ACE </span><span style='font-size:10.0pt;
font-family:"Noto Mono"'>bug</span><span lang=RU style='font-size:10.0pt;
font-family:"Noto Mono"'>).</span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Noto Mono"'>- If
bCheckAce=True recommended value HWIDWaitTimer=2 and bBypassFiring=False.
Result - if the player does not have ACE on client, then after ~2 seconds <a
name=tw-target-text1></a>after closing the ACE installation window he will be
kicked.</span><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'><br>
<br>
If a players user.ini has an empty name &quot;Name=&quot; SBN kicks the player
with a window in which text that can be changed in &quot;NoNameLine&quot;<br>
<br>
An administrator can get information about a player in the SBN.ini file in the
local System folder by double-clicking the player name in the SBN window.<br>
<br>
--------------</span><b><span lang=RU style='font-family:"Noto Mono"'>LOGS</span></b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>--------------</span></p>
<p class=MsoNormal>&nbsp;</p>
<p class=a><span lang=RU style='font-family:"Noto Mono"'>There are two types of
logs that will be written (depending on the settings) to the Servers\Logs
folder:</span></p>
<p class=MsoNormal><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>1.
</span><b><span style='font-size:10.0pt;font-family:"Noto Mono"'>Player Info </span></b><span
style='font-size:10.0pt;font-family:"Noto Mono"'> additional info about SBN
activities.</span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Noto Mono"'>Example:
</span><i><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>[SBN]_2022.11.07-12.15.43_</span></i><i><span
style='font-size:10.0pt;font-family:"Noto Mono"'>PlayerName</span></i><i><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>_</span></i><i><span
style='font-size:10.0pt;font-family:"Noto Mono"'>Info</span></i><i><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>.log</span></i></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Noto Mono"'>2. <b>Player
Kick</b> info about kick or ban.</span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Noto Mono"'>Example:
</span><i><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>[SBN]_2022.11.07-12.15.43_</span></i><i><span
style='font-size:10.0pt;font-family:"Noto Mono"'>PlayerName</span></i><i><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>_Reason.log</span></i><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'><br>
<br>
If <b>bNoLogFiles=False</b> (Default) in the SmartBan.ini file then &quot;</span><span
style='font-size:10.0pt;font-family:"Noto Mono"'>Player Kick</span><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>&quot;</span><span
style='font-size:10.0pt;font-family:"Noto Mono"'> and </span><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'>&quot;</span><span
style='font-size:10.0pt;font-family:"Noto Mono"'>Player Info</span><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>&quot;</span><span
style='font-size:10.0pt;font-family:"Noto Mono"'> logs </span><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'>will be written.<br>
</span><span style='font-size:10.0pt;font-family:"Noto Mono"'>If </span><b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'>bKickLogsOnly=True</span></b><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'> (Default) in the
SmartBan.ini file then only &quot;</span><span style='font-size:10.0pt;
font-family:"Noto Mono"'>Player Kick</span><span lang=RU style='font-size:10.0pt;
font-family:"Noto Mono"'>&quot;</span><span style='font-size:10.0pt;font-family:
"Noto Mono"'> logs </span><span lang=RU style='font-size:10.0pt;font-family:
"Noto Mono"'>files will be written.<br>
These log files will be titled as follows and have contents similar to:</span></p>
<p class=MsoNormal><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'><br>
-------------------------------------------------------------------------<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Player Kick<br>
-------------------------------------------------------------------------<br>
Date-Time..........: 2022.11.07-12.07.32<br>
PlayerName.......: </span><span style='font-size:10.0pt;font-family:"Noto Mono"'>Test</span><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'><br>
PlayerIP.............: 192.168.8.189<br>
SBNID..............: 20226201057536<br>
HWID...............: F413F294AF86A5AF524CB4DB808D82E4<br>
Reason..............: Kicked<br>
Times Kicked...: 3<br>
Admin..............: Server<br>
<br>
This indicates that the player tried to connect but was kicked by the Server.<br>
If this was a direct kick initiated by the admin, the Admins name would appear
instead of `Server`</span></p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><span lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'><br>
<br>
<b>Developer:</b> </span><a href="mailto:proasm@gmail.com"><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'>ProAsm</span></a><span
lang=RU style='font-size:10.0pt;font-family:"Noto Mono"'><br>
<b>Idea and Tester:</b> </span><a href="mailto:asosed@gmail.com"><span lang=RU
style='font-size:10.0pt;font-family:"Noto Mono"'>asosed</span></a></p>
</div>
</body>
</html>

144
Run.sh Normal file
View File

@@ -0,0 +1,144 @@
#!/bin/bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
OUTPUT_DIR="$2"
DEFAULT_CFG_FILE=UnrealTournament.ini
CFG_FILE="${3:-$DEFAULT_CFG_FILE}"
function add_iniKeyEx() {
crudini --set $OUTPUT_DIR/System/$1 $2 __$3 $4
# Warning: ugly hack with sed to allow multiple key instances + to remove space around '='
sed -i "s/[[:space:]]*__$(echo $3 | sed -e 's/\([[\/.*]\|\]\)/\\&/g')[[:space:]]*=[[:space:]]*/$(echo $3 | sed -e 's/\([[\/.*]\|\]\)/\\&/g')=/g" $OUTPUT_DIR/System/$1
}
function set_iniKeyEx() {
crudini --set $OUTPUT_DIR/System/$1 $2 $3 $4
}
# !!Warning!! section is not considered
function del_iniKeyEx() {
sed -i "/[[:space:]]*$(echo $3 | sed -e 's/\([[\/.*]\|\]\)/\\&/g')[[:space:]]*=[[:space:]]*$(echo $4 | sed -e 's/\([[\/.*]\|\]\)/\\&/g')/d" $OUTPUT_DIR/System/$1
}
function add_iniKey() {
add_iniKeyEx $CFG_FILE $1 $2 $3
}
function set_iniKey() {
set_iniKeyEx $CFG_FILE $1 $2 $3
}
# !!Warning!! section is not considered
function del_iniKey() {
del_iniKeyEx $CFG_FILE $1 $2 $3
}
function add_ServerPackage() {
add_iniKey 'Engine.GameEngine' ServerPackages $1
add_iniKey 'XC_Engine.XC_GameEngine' ServerPackages $1
}
function del_ServerPackage() {
del_iniKey 'Engine.GameEngine' ServerPackages $1
del_iniKey 'XC_Engine.XC_GameEngine' ServerPackages $1
}
function add_ServerActors() {
add_iniKey 'Engine.GameEngine' ServerActors $1
add_iniKey 'XC_Engine.XC_GameEngine' ServerActors $1
}
function del_ServerActors() {
del_iniKey 'Engine.GameEngine' ServerActors $1
del_iniKey 'XC_Engine.XC_GameEngine' ServerActors $1
}
function getmodprefix() {
UFile=$(find $OUTPUT_DIR/System -type f -iname "UTChat*.u" -exec basename {} \;)
BaseName="${UFile%.*}"
echo "$BaseName"
}
function install() {
rsync -a $SCRIPT_DIR/Help/ $OUTPUT_DIR/Help/ --exclude '.git'
rsync -a $SCRIPT_DIR/System/ $OUTPUT_DIR/System/ --exclude '.git'
echo install ok
}
function enable() {
BaseName="$(getmodprefix)"
add_ServerPackage $BaseName
add_ServerActors $BaseName.SmartBanActor
echo enable ok
}
function disable() {
BaseName="$(getmodprefix)"
del_ServerPackage $BaseName
del_ServerActors $BaseName.SmartBanActor
echo disable ok
}
function show_help() {
echo
echo "Usage: $0 { getmodprefix | install | enable | disable } <UT99_INSTALL_DIR> [<UT99_CONFIG_FILE>] [<CONFIG_KEY> <CONFIG_VALUE>]"
echo
}
function check_cfg_file_config() {
if [ $# -eq 4 ]
then
echo "CFG_FILE is unset, setting it to $DEFAULT_CFG_FILE"
CFG_FILE=$DEFAULT_CFG_FILE
elif [ $# -eq 5 ]
then
echo "CFG_FILE is set to '$CFG_FILE'"
else
echo "Wrong number of arguments"
show_help
exit 9999 # die with error code 9999
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_cfg_file_gen() {
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 [ -z $OUTPUT_DIR ]
then
echo "incorrect <UT99_INSTALL_DIR>"
show_help
exit 9999 # die with error code 9999
fi
}
case "$1" in
'getmodprefix')
check_game_dir
getmodprefix
;;
'install')
check_game_dir "$@"
install "$@"
;;
'enable')
check_game_dir "$@"
check_cfg_file_gen "$@"
disable "$@"
enable "$@"
;;
'disable')
check_game_dir "$@"
check_cfg_file_gen "$@"
disable "$@"
;;
*)
show_help
exit 1
;;
esac
exit 0

BIN
System/IACEv12.u Normal file

Binary file not shown.

BIN
System/WinClient.u Normal file

Binary file not shown.

BIN
System/sbe12.u Normal file

Binary file not shown.