Jump to content
Sign in to follow this  
nuxil

B.E.C. "Battleye Extended Controls" - Admin Tool

Recommended Posts

So i have my BEC working, and when i type !help i only see a select few of the commands i have listed pull up. I have myself set to group 0 and BEC regonizes me as that group. However some of my commands i have set do not work.

IE:

<!-- Restart mission. -->

<command id="3">

<name>!restart</name>

<group>4</group>

<cmd>#restart</cmd>

<time></time>

<text></text>

<desc>USAGE :: !restart :: INFO -> Restart mission with current player slot selection</desc>

</command>

Does not pull up for me, even though i am in group 1.

but!

<!-- Reassing the mission. -->

<command id="3">

<name>!fullrestart</name>

<group>4</group>

<cmd>#reassign</cmd>

<time></time>

<text></text>

<desc>USAGE :: !fullrestart :: INFO -> Restart the mission with new player slot selection</desc>

</command>

does pull up..

So what ive figured out is that admins that SHOULD have acess to certain commands dont have them. Here is my commands.xml

<BeCommands>

<!-- Shutdown the server. -->

<command id="0">

<name>!shutdown</name>

<group>1</group>

<cmd>#shutdown</cmd>

<time></time>

<text></text>

<desc>USAGE :: [!shutdown] or [!shutdown N] or [!shutdown info] or [!shutdown abort] :: INFO -> Shutdowns the dedicated arma server. use: !shutdown N, to set a timeout in Seconds before shutdown, !shutdown abort, to abort current shutdown, !shutdown info, to see how long left.</desc>

</command>

<!-- Mission selection many. Note ingame ArmA Admin should be loged in before using this. -->

<command id="1">

<name>!mis</name>

<group>1</group>

<cmd>#missions</cmd>

<time></time>

<text></text>

<desc>USAGE :: !mis :: INFO -> Show mission. Carefull with this command. an admin should be logged in with the arma inerface. #login or gui if this is to be used</desc>

</command>

<!-- Restart mission. -->

<command id="3">

<name>!restart</name>

<group>4</group>

<cmd>#restart</cmd>

<time></time>

<text></text>

<desc>USAGE :: !restart :: INFO -> Restart mission with current player slot selection</desc>

</command>

<!-- Reassing the mission. -->

<command id="3">

<name>!fullrestart</name>

<group>4</group>

<cmd>#reassign</cmd>

<time></time>

<text></text>

<desc>USAGE :: !fullrestart :: INFO -> Restart the mission with new player slot selection</desc>

</command>

<!-- Lock the server. -->

<command id="4">

<name>!lock</name>

<group>3</group>

<cmd>#lock</cmd>

<time></time>

<text></text>

<desc>USAGE :: !lock :: INFO -> Locks the server. No one will be able to join.</desc>

</command>

<!-- Unlock the server. -->

<command id="5">

<name>!unlock</name>

<group>3</group>

<cmd>#unlock</cmd>

<time></time>

<text></text>

<desc>USAGE :: !unlock :: INFO -> Unlocks the Server.</desc>

</command>

<!-- Change maxping. -->

<command id="6">

<name>!mp</name>

<group>1</group>

<cmd>maxping</cmd>

<time></time>

<text>450</text>

<desc>USAGE :: [!mp] or [!mp N] :: INFO -> Set a maxping limit on the server. N is the value in milliseconds, default = 450</desc>

</command>

<!-- Change mission. -->

<command id="7">

<name>!cm</name>

<group>1</group>

<cmd>#mission</cmd>

<time></time>

<text></text>

<desc>USAGE :: !cm mission filename :: INFO -> Change Mission. you need to know the filename but exclude the pbo extension.</desc>

</command>

<!--

Note: Ban Commands.

The <text> field in ban has a spesial option. " _time_ " : when used it will show timenow+bantime. _time_ return format is: Y.m.d H:M

<text>Teamkilling not tolerated! Your banned until _time_</text>

Will show : Teamkilling not tolerated! Your banned until 2013.01.25 17:30

-->

<!-- Permban -->

<command id="8">

<name>!bp</name>

<group>1</group>

<cmd>ban</cmd>

<time>0</time>

<text>Admins Decision!</text>

<desc>USAGE :: [!bp name] or [!bp name !r new reason] :: INFO -> Perm Ban a player.</desc>

</command>

<!-- 1 Hour Ban -->

<command id="9">

<name>!btk</name>

<group>2</group>

<cmd>ban</cmd>

<time>60</time>

<text>Teamkilling not tolerated! Your banned until _time_</text>

<desc>USAGE :: [!btk name] or [!btk name !r new reason] :: INFO -> Ban a player for 1 hour.</desc>

</command>

<!-- 10 Min Ban -->

<command id="10">

<name>!bst</name>

<group>3</group>

<cmd>ban</cmd>

<time>10</time>

<text>Idiot behavior belongs elsewhere! Youre banned until _time_</text>

<desc>USAGE :: [!bst name] or [!bst name !r new reason] :: INFO -> Ban a player for 10 min.</desc>

</command>

<!-- Kick Command(s).-->

<command id="11">

<name>!kpl</name>

<group>3</group>

<cmd>kick</cmd>

<time></time>

<text>Admins Decision!</text>

<desc>USAGE :: [!kpl name] or [!kpl name !r new reason] :: INFO -> Kick a player. use !r to set a cutoms reason.</desc>

</command>

<!--

Note: Spesial Custom Commands is used with #beclient players to get players id

this can be usefull if you need to kick example a russian named player. "if you dont know how to type in cyrillic"

example: #beclient players ... !bid 15

-->

<!-- Ban based on Id -->

<command id="12">

<name>!bid</name>

<group>1</group>

<cmd>bid</cmd>

<time>0</time>

<text>Admins Decision!</text>

<desc>USAGE :: !bid id :: INFO -> Kick a player based on the BEID. use #Beclient players to get the id.</desc>

</command>

<!-- Kick based on Id -->

<command id="13">

<name>!kid</name>

<group>3</group>

<cmd>kid</cmd>

<time></time>

<text>Admins Decision!</text>

<desc>USAGE :: !kid id :: INFO -> Kick a player based on the BEID. use #Beclient players to find the id.</desc>

</command>

<!--

Give a warning to a player

The warning parameter in the config file must be higher than 0 for this to have any effect.

-->

<command id="14">

<name>!wrn</name>

<group>3</group>

<cmd>warn</cmd>

<time></time>

<text>This is a Warning given by the admin</text>

<desc>USAGE :: !wrn name :: INFO -> Send a warning to a player, it will increase the warncount if defined in the config file.</desc>

</command>

<!--

Grant a player tmp admin premissions

You set the group level of the tmp admin in the <text> tag.

-->

<command id="15">

<name>!ata</name>

<group>0</group>

<cmd>grant</cmd>

<time></time>

<text>4</text>

<desc>USAGE :: !ata name :: INFO -> Add a temporary admin into group 4.</desc>

</command>

<!-- Remove tmp admin permission -->

<command id="16">

<name>!rta</name>

<group>0</group>

<cmd>degrant</cmd>

<time></time>

<text></text>

<desc>USAGE :: !rta name :: INFO -> Remove temporary admin.</desc>

</command>

<!-- Make room for a player, kick last player who joined. -->

<command id="17">

<name>!mr</name>

<group>2</group>

<cmd>makeroom</cmd>

<time></time>

<text>Making Room For PDG MEMBERS. To join please visit us at TS.PDGHQ.COM</text>

<desc>USAGE :: !mr N :: INFO -> Kick N numbers of player based on join time. last joined players will get kicked.</desc>

</command>

<!-- Show basic help info -->

<command id="18">

<name>!help</name>

<group>100</group>

<cmd>help</cmd>

<time></time>

<text></text>

<desc>USAGE :: [!help] or [!help !command] :: INFO -> Use help to show availeble commands.</desc>

</command>

<!-- Show basic player info -->

<command id="19">

<name>!pinf</name>

<group>100</group>

<cmd>pinfo</cmd>

<time></time>

<text></text>

<desc>USAGE :: !pinf name :: INFO -> Show player info. Beid and join time.</desc>

</command>

<!-- Show admins online -->

<command id="20">

<name>!ainf</name>

<group>100</group>

<cmd>ainfo</cmd>

<time></time>

<text></text>

<desc>USAGE :: !ainf :: INFO -> Show Admins online.</desc>

</command>

<!-- Show server uptime -->

<command id="21">

<name>!upt</name>

<group>100</group>

<cmd>uptime</cmd>

<time></time>

<text></text>

<desc>USAGE :: !upt :: INFO -> Show Server Uptime.</desc>

</command>

<!-- Say something in global or to a player -->

<command id="22">

<name>!say</name>

<group>10</group>

<cmd>say</cmd>

<time></time>

<text></text>

<desc>USAGE :: [!say Hello] or [!say name !Hello] :: INFO -> Send a Battleye message player(s).</desc>

</command>

<!-- Reload the admin file -->

<command id="23">

<name>!raf</name>

<group>0</group>

<cmd>loadadmins</cmd>

<time></time>

<text></text>

<desc>USAGE :: !raf :: INFO -> Reloade the admin file.</desc>

</command>

<!-- Reload the command file -->

<command id="24">

<name>!rcf</name>

<group>0</group>

<cmd>loadcommands</cmd>

<time></time>

<text></text>

<desc>USAGE :: !rcf :: INFO -> Reloade the command file.</desc>

</command>

<!-- External scripts -->

<command id="25">

<name>!math</name>

<group>0</group>

<cmd>external</cmd>

<time></time>

<text>Config\Script_Example.bat</text>

<desc>USAGE :: !math Int+Int :: INFO -> Do simple bat math!.</desc>

</command>

</BeCommands>

Edited by thelane618

Share this post


Link to post
Share on other sites

@thelane618

you have command id 3 defined twise.

Share this post


Link to post
Share on other sites

ah thank you! That should of only effected those two commands though correct?

Share this post


Link to post
Share on other sites

Hello,

when I run my server with the file. bat, I have my server closes the opening of a BEC Do you know where could be the problem?

Share this post


Link to post
Share on other sites

@jarjarbinque your problem is not really related to Bec. if you surf this thread and go back several pages you will find good examples on bat scripts that can be used to start the server.

i myself do not use bat scripts to do this. i let my firedaemon handle all my startups. so you are better off getting help from someone else with this bat issue.

Share this post


Link to post
Share on other sites

@Nuxil thank you for answer

Here is my file .bat :

taskkill /IM arma3server2.exe /F

taskkill /IM bec.exe /F

timeout 10

set server="C:\Users\......\............\Serveur_2\arma3server2.exe"

set ip="46.105.36.168"

set world="Stratis"

set cpuCount="-cpucount=4"

set maxMem="-maxMem=4096"

set exThreads="-exThreads=7"

set cfg="-cfg=C:\Users\...........\..............\Serveur_2\cfgdayz2\basic.cfg"

set config="-config=C:\Users\..........\.............\Serveur_2\cfgdayz2\server.cfg"

set profiles="-profiles=C:\Users\..........\............\Serveur_2\cfgdayz2\Users"

set port="-port=2322"

set bepath="-bepath=C:\Users\...........\.............\Serveur_2\BattlEye"

set mod="-mod=@hive;@............."

start "" %server% %ip% %world% %mod% %cpuCount% %maxMem% %exThreads% %cfg% %config% %profiles% %port%

timeout 25

:: start bec

set becpath="C:\Users\...........\.............\Bec"

cd /d %becpath%

start "" "Bec.exe" -f Config.cfg

if I disable BattlEye in server.cfg, I is not the same problem (which is normal), but the server does not cut it. but as soon as I turn BattlEye, the server shuts him to launch BEC. This is not the first time that I use. Bat to start my server but I do not understand. :o(

Thank you for the info on FireDaemon, I'll watch operation ;o)

Share this post


Link to post
Share on other sites
taskkill /IM bec.exe /F

You don't need this =) If you have "taskkill /IM arma3server2.exe /F" in your bat the bec.exe will closed automatic after 1-2 second after the server is closed ;)

set ip="46.105.36.168"

You need this only if you have more then one IP or if you host the server from your pc and not on a root server

Can you test it with our .bat file and your Stuff?

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
:: ©2012-2013 Blackhorse Gaming by [bHG] Shona - All rights reserved
:: If you have issues with the script you can ask in our Board under www.blackhorse-gaming.eu
::
::
:: Info about /affinity
::
:: /affinity 3 = Server starts on Core 0 & 1 of your CPU
:: /affinity C = Server starts on Core 2 & 3 of your CPU
:: /affinity 30 = Server starts on Core 4 & 5 of your CPU
:: /affinity C0 = Server starts on Core 6 & 7 of your CPU
::
:: Change the affinity how you like it and look how many CPU Cores you have
::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::



@echo off
color 1C
title ARMA 2/3 Server Startup by Blackhorse Gaming

echo         BBBBBBBBBBBBBBBBB   HHHHHHHHH     HHHHHHHHH      GGGGGGGGGGGGG
echo         B::::::::::::::::B  H:::::::H     H:::::::H   GGG::::::::::::G
echo         B::::::BBBBBB:::::B H:::::::H     H:::::::H GG:::::::::::::::G
echo         BB:::::B     B:::::BHH::::::H     H::::::HHG:::::GGGGGGGG::::G
echo           B::::B     B:::::B  H:::::H     H:::::H G:::::G       GGGGGG
echo           B::::B     B:::::B  H:::::H     H:::::HG:::::G              
echo           B::::BBBBBB:::::B   H::::::HHHHH::::::HG:::::G              
echo           B:::::::::::::BB    H:::::::::::::::::HG:::::G    GGGGGGGGGG
echo           B::::BBBBBB:::::B   H:::::::::::::::::HG:::::G    G::::::::G
echo           B::::B     B:::::B  H::::::HHHHH::::::HG:::::G    GGGGG::::G
echo           B::::B     B:::::B  H:::::H     H:::::HG:::::G        G::::G
echo           B::::B     B:::::B  H:::::H     H:::::H G:::::G       G::::G
echo         BB:::::BBBBBB::::::BHH::::::H     H::::::HHG:::::GGGGGGGG::::G
echo         B:::::::::::::::::B H:::::::H     H:::::::H GG:::::::::::::::G
echo         B::::::::::::::::B  H:::::::H     H:::::::H   GGG::::::GGG:::G
echo         BBBBBBBBBBBBBBBBB   HHHHHHHHH     HHHHHHHHH      GGGGGG   GGGG
echo.
echo.
echo         Server Startup Script for ARMA 2/3 made by Blackhorse Gaming
echo.
echo.

:: Start the server...
echo Start the server...please wait...

set server="arma3server.exe"
set cfg="-cfg=basic.cfg"
set config="-config=config.cfg"
set profiles="-profiles=YOURPROFILENAME"
set name="-name=SAMEASPROFILENAME"
set port="-port=2302"
set mem="-maxMem=4096"
set mod="-mod=@YOURMODS;" -netlog -world=empty -cpuCount=2 -exThreads=1 -bandwidthAlg=2

start "" /affinity C0 %server% %port% %config% %profiles% %cfg% %name% %mod% %mem%
echo Server is now starting...
echo.
:: Waiting 15 Seconds before Bec is starting so Bec timeout can not happen
for /L %%i IN (15 -1 1) do (
ping -n 2 localhost>nul
echo Bec starts in %%i)
echo.
:: BEC Startup......
set becpath="YOURBECPATH"
cd /d %becpath%
start "" "bec.exe" -f Config.cfg
echo Bec is started. Have fun with your Arma 2/3 Server :)
echo.
ping -n 5 localhost>nul
exit

Share this post


Link to post
Share on other sites

ok, I have to redo a clean install, and I use your file .bat.

I now again No valid response, trying to reconnect ! :(

batteleye is active in the server.cfg

Share this post


Link to post
Share on other sites

Hello..

try to login to your server using BeRCon.exe

if that also failes then there is something wrong with your Be Setup.

Share this post


Link to post
Share on other sites

Okay, it failed. Do anyone have any instructions for the BE Server setup. Because all their website states is place a dll in a folder. I'm also using TA2Dst.

Share this post


Link to post
Share on other sites

Hi. i have a little problem understanding what you mean.

But no addon can prevent Bec from running.

The only thing a addon can do to prevent Bec from working 100% is removing the chat line. but this can already be done by disabling chat in your description.ext file for your mission.

If you have misconfigured your Battleye then Bec will not work, simple as that. Battleye needs to be setup correct for Bec to work. and ofcource you need to setup Bec's config file correct for itself to work.

Share this post


Link to post
Share on other sites

Ok, because I'm a mod dev. and restart when I run my file, I have the server run, then spout opens when the connection that I have the server crash. It is her that I did not understand when BattlEye is disabled in my server.cfg file, Bec does not crash my server.

I do not understand where proviens error.

Share this post


Link to post
Share on other sites

@nuxil, in getting the TS3 setup config done, I keep getting Login Failures when using my TS3 serveradmin creds. Should I make a unique user for this? and do you know of any communication blocks that could potentially be enabled via TS3 by default? BEC see's TS3 via query, just can't maintain the log in...

3fDSQm1.png

Share this post


Link to post
Share on other sites

hmm. hard to say. did you also upgrade the ts3 plugin when you upgraded Bec?.

Should I make a unique user for this?

always.

set the variable : Queryname = "MyBotName" as an example.

if you have multiple bec's connected to the same Ts3 server. you should set diffrent Queryname for them.

you also might need to turn up flood protection. i think you can use YaTQA to do that.

Edited by nuxil

Share this post


Link to post
Share on other sites

Are there any plans for vote commands for players? Like !votekick <nickname>?

And about linux support, is there any hope for it left?

Share this post


Link to post
Share on other sites
Are there any plans for vote commands for players? Like !votekick <nickname>?

And about linux support, is there any hope for it left?

No plans for votekick. but it could be something i can look into. but in general i feel its the admins job to kick players. if i look into this. i will make the command only work if there is no admins online.

No hope for linux. you might want to try out wine. i'd know some people got it to work with wine in the past. but since i dont use linux myself. im not going to wate time on it.

Share this post


Link to post
Share on other sites

Well about linux, wine works but it won't discover running server. Maybe if server was lunched with wine it could work... Is RCON and battleye lib enough for BEC to operate? Maybe a launch parameter that would skip looking for running server process could do the work.

Share this post


Link to post
Share on other sites

Well. Bec is a rcon. Bec doesnt use any 3rd party battleye lib. a start parameter can be reimplemented. but then the Reporter function needs to be disabled,

since Bec needs to know what server its connected against. A2 or A3.

im working on a new update and i'll see if i can get the time to reimplement the --dsc switch.

but some commands will fail when using --dsc such as uptime. and possible other fucntions i cant think of atm.

Share this post


Link to post
Share on other sites

Maybe Reporter could still work but only to check players GUIDs for BEC global bans.

Share this post


Link to post
Share on other sites

New Version out with some fixed here and there.

If you are updating. Please update both. Bec.exe and Bec.lib

Changelog

- Added: Simple Rss News Plugin. will show players the 10 latest Rss News titles from ArmaHolic every 1.5 hour.

- Added: support for _name_ placeholder in <text> tag on kick commands. check commands.xml for example.

- Added: support for _name_ placeholder in <text> tag on ban commands. check commands.xml for example.

- Added: support for _name_ placeholder in <text> tag on warn command. check commands.xml for example.

- Added: More error logging on sertan things.

- Added: --dsc reimpemented. but if you have an reporter account it will be disabled when using --dsc

- Fixed: some prints.

- Fixed: some encoding issues.

- Fixed: loadcommands was broken

- Fixed: loadadmin was broken

- Removed: custom reason (!r blah) been removed on kick and ban command.

@Zydu . no thats impossible. if Bec doesnt know what server its connected to. then it also dont know which database to check against.

Edited by nuxil

Share this post


Link to post
Share on other sites

:banghead:

i belive its caused by a stupid error.

check that your BeServer file is named like this. BeServer.cfg

not BeServer.txt or BeServer.cfg.txt

i'll make a fix for this asap.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×