Jump to content
  • 0

BEC


Cedricolp

Question

Hello it's me again :p, 

I need help with BEC .. so i try to make scheduler and for this i need to have BEC working on my server 

So i read some topics here , and i try dunno how much time to let him run .. no results 

Here is my Arma3server root folder

  41973644303e5db86d4459b8a14afec179cca2.j

Like you can see , i have the battleye folder and the BEC folder , but in the TADST i have a other battleye folder (i'm using TADST to lauch the server)

in the config from the BEC folder i set the PATH to my battleye folder into the Arma3 root folder 

but nothing works.. battleye is working to conect with the Rcon but not with all the rest..

i try to lauch the BEC.EXE , i got the message "waiting for the server starting up" when the server start i got the message " Looking for a update" and then BEC disapear ..

can here someone say me the exact install guide to let work BEC with TADST and that the scheduler work to ? 

maybe i'm wrong for the install ! .. so if you guyz can show me the exact install steps i will try it again 

 

Thank you verry much all of you

Link to comment
Share on other sites

24 answers to this question

Recommended Posts

  • 0

So nobody can help me for ce BEC install ? 

battleye is working i can connect with the rcon . but alle what works with BEC like scheduler / Admins ect .. is not working

When i launch the Bec.exe is wiating for a server conection

then when the server is on he is looking for update , after 1 min he just disepear ...

 

 

Link to comment
Share on other sites

  • 0
1 hour ago, rvg?! said:

I dont use BEC, but if you just want to kill/restart your arma 3 task you could use a simple batch file or firedeamon.

Also you could read diag_ticktime/serverTime and popup messages whenever you want.

Oh okey , can you help me with this ? sorry i'm pretty new in this :(

Link to comment
Share on other sites

  • 1

I assume that you use windows for your A3 Epoch server:

Then you just create a batch file called "whateveruwant.bat" in you A3 server root directory or wherever you want, and copy and paste this in. Of course you have to edit it for your needs:

@echo off
cls

set wat=Arma3 Epoch

title %wat% Watchdog

:watchdog
echo (%time%) %wat% started.

cd E:\Games\Arma3\A3Epoch\DB
START redis-server.exe redis.conf

cd E:\Games\Arma3\A3Epoch\
start "Epoch"  /high arma3server.exe -enableHT -mod=@Epoch; -serverMod=@EpochHive; -config=E:\Games\Arma3\A3Epoch\sc\server.cfg -port=2323 -profiles=SC -cfg=E:\Games\Arma3\A3Epoch\sc\basic.cfg -name=SC -autoinit

Timeout /t 14400

taskkill /F /IM arma3server.exe

Timeout /t 5

echo (%time%) %wat% closed or crashed, restarting.
cls
goto watchdog


14400 seconds / 60  = 240 minutes / 60 = 4 hours restart cycle

Link to comment
Share on other sites

  • 0

OK, 

i think i'm wrong but, where can i put what you write before ? 

i didn't see the countdown

 

Spoiler

waitUntil {!(isNull (findDisplay 46))};
disableSerialization;

    _rscLayer = "statusBar" call BIS_fnc_rscLayer;
    _rscLayer cutRsc["statusBar","PLAIN"];
    systemChat format["Loading Player info...", _rscLayer];
    [] spawn 
    {

        sleep 5;
        //set the color values.
        //Additional color codes can be found here: http://html-color-codes.com/
        _colourDefault  = parseText "#ADADAD"; //set your default colour here
        _colour100         = parseText "#336600";
        _colour90         = parseText "#339900";
        _colour80         = parseText "#33CC00";
        _colour70         = parseText "#33FF00";
        _colour60         = parseText "#66FF00";
        _colour50         = parseText "#CCFF00";
        _colour40         = parseText "#CCCC00";
        _colour30         = parseText "#CC9900";
        _colour20         = parseText "#CC6600";
        _colour10         = parseText "#CC3300";
        _colour0         = parseText "#CC0000";
        _colourDead     = parseText "#000000";
            
    
    while {true} do 
    {
        sleep 1;
                
        //moved the creation of the status bar inside the loop and create it if it is null,
        //this is to handle instance where the status bar is disappearing 
        if(isNull ((uiNamespace getVariable "statusBar")displayCtrl 55555)) then
        {
            diag_log "statusbar is null create";
            disableSerialization;
            _rscLayer = "statusBar" call BIS_fnc_rscLayer;
            _rscLayer cutRsc["statusBar","PLAIN"];
        };        
        
        //initialize variables and set values
        _unit = _this select 0;
        _damage = round ((1 - (damage player)) * 100);
        //_damage = (round(_damage * 100));
        _hunger = round((EPOCH_playerHunger/5000) * 100);
        _thirst = round((EPOCH_playerThirst/2500) * 100);
        _wallet = EPOCH_playerCrypto;
        _stamina = round(EPOCH_playerStamina * 100) / 100;
        _toxPercent = round (EPOCH_playerToxicity);
        _energy = round(EPOCH_playerEnergy);
        _energyPercent =  floor((_energy / 2500 ) * 100);
        _fps = format["%1", diag_fps];
        _grid = mapGridPosition  player; 
        _xx = (format[_grid]) select  [0,3]; 
        _yy = (format[_grid]) select  [3,3];  
        _time = (round(240-(serverTime)/60));  //edit the '240' value (60*4=240) to change the countdown timer if your server restarts are shorter or longer than 4 hour intervals
        _hours = (floor(_time/60));
        _minutes = (_time - (_hours * 60));
        _players = (count playableUnits -1);
        
        
        switch(_minutes) do    {
            case 9: {_minutes = "09"};
            case 8: {_minutes = "08"};
            case 7: {_minutes = "07"};
            case 6: {_minutes = "06"};
            case 5: {_minutes = "05"};
            case 4: {_minutes = "04"};
            case 3: {_minutes = "03"};
            case 2: {_minutes = "02"};
            case 1: {_minutes = "01"};
            case 0: {_minutes = "00"};
        };
                        
        
        //Colour coding
        //Damage
        _colourDamage = _colourDefault;
        
        switch true do {
            case(_damage >= 100) : {_colourDamage = _colour100;};
            case((_damage >= 90) && (_damage < 100)) : {_colourDamage =  _colour90;};
            case((_damage >= 80) && (_damage < 90)) : {_colourDamage =  _colour80;};
            case((_damage >= 70) && (_damage < 80)) : {_colourDamage =  _colour70;};
            case((_damage >= 60) && (_damage < 70)) : {_colourDamage =  _colour60;};
            case((_damage >= 50) && (_damage < 60)) : {_colourDamage =  _colour50;};
            case((_damage >= 40) && (_damage < 50)) : {_colourDamage =  _colour40;};
            case((_damage >= 30) && (_damage < 40)) : {_colourDamage =  _colour30;};
            case((_damage >= 20) && (_damage < 30)) : {_colourDamage =  _colour20;};
            case((_damage >= 10) && (_damage < 20)) : {_colourDamage =  _colour10;};
            case((_damage >= 1) && (_damage < 10)) : {_colourDamage =  _colour0;};
            case(_damage < 1) : {_colourDamage =  _colourDead;};
        };
        
        //Hunger
        _colourHunger = _colourDefault;
        switch true do {
            case(_hunger >= 100) : {_colourHunger = _colour100;};
            case((_hunger >= 90) && (_hunger < 100)) :  {_colourHunger =  _colour90;};
            case((_hunger >= 80) && (_hunger < 90)) :  {_colourHunger =  _colour80;};
            case((_hunger >= 70) && (_hunger < 80)) :  {_colourHunger =  _colour70;};
            case((_hunger >= 60) && (_hunger < 70)) :  {_colourHunger =  _colour60;};
            case((_hunger >= 50) && (_hunger < 60)) :  {_colourHunger =  _colour50;};
            case((_hunger >= 40) && (_hunger < 50)) :  {_colourHunger =  _colour40;};
            case((_hunger >= 30) && (_hunger < 40)) :  {_colourHunger =  _colour30;};
            case((_hunger >= 20) && (_hunger < 30)) :  {_colourHunger =  _colour20;};
            case((_hunger >= 10) && (_hunger < 20)) :  {_colourHunger =  _colour10;};
            case((_hunger >= 1) && (_hunger < 10)) :  {_colourHunger =  _colour0;};
            case(_hunger < 1) : {_colourHunger =  _colourDead;};
        };
        
        //Thirst
        _colourThirst = _colourDefault;        
        switch true do{
        
            case(_thirst >= 100) : {_colourThirst = _colour100;};
            case((_thirst >= 90) && (_thirst < 100)) :  {_colourThirst =  _colour90;};
            case((_thirst >= 80) && (_thirst < 90)) :  {_colourThirst =  _colour80;};
            case((_thirst >= 70) && (_thirst < 80)) :  {_colourThirst =  _colour70;};
            case((_thirst >= 60) && (_thirst < 70)) :  {_colourThirst =  _colour60;};
            case((_thirst >= 50) && (_thirst < 60)) :  {_colourThirst =  _colour50;};
            case((_thirst >= 40) && (_thirst < 50)) :  {_colourThirst =  _colour40;};
            case((_thirst >= 30) && (_thirst < 40)) :  {_colourThirst =  _colour30;};
            case((_thirst >= 20) && (_thirst < 30)) :  {_colourThirst =  _colour20;};
            case((_thirst >= 10) && (_thirst < 20)) :  {_colourThirst =  _colour10;};
            case((_thirst >= 1) && (_thirst < 10)) :  {_colourThirst =  _colour0;};
            case(_thirst < 1) : {_colourThirst =  _colourDead;};
        };
        
        //Energy
        _colourEnergy = _colourDefault;
        switch true do{
        
            case(_energyPercent >= 100) : {_colourEnergy = _colour100;};
            case((_energyPercent >= 90) && (_energyPercent < 100)) :  {_colourEnergy =  _colour90;};
            case((_energyPercent >= 80) && (_energyPercent < 90)) :  {_colourEnergy =  _colour80;};
            case((_energyPercent >= 70) && (_energyPercent < 80)) :  {_colourEnergy =  _colour70;};
            case((_energyPercent >= 60) && (_energyPercent < 70)) :  {_colourEnergy =  _colour60;};
            case((_energyPercent >= 50) && (_energyPercent < 60)) :  {_colourEnergy =  _colour50;};
            case((_energyPercent >= 40) && (_energyPercent < 50)) :  {_colourEnergy =  _colour40;};
            case((_energyPercent >= 30) && (_energyPercent < 40)) :  {_colourEnergy =  _colour30;};
            case((_energyPercent >= 20) && (_energyPercent < 30)) :  {_colourEnergy =  _colour20;};
            case((_energyPercent >= 10) && (_energyPercent < 20)) :  {_colourEnergy =  _colour10;};
            case((_energyPercent >= 1) && (_energyPercent < 10)) :  {_colourEnergy =  _colour0;};
            case(_energyPercent < 1) : {_colourEnergy =  _colour0;};
        };
        
        //Toxicity
        _colourToxicity = _colourDefault;
        switch true do{
            case(_toxPercent >= 100) : {_colourToxicity = _colourDead;};
            case((_toxPercent >= 90) && (_toxPercent < 100)) :  {_colourToxicity =  _colour0;};
            case((_toxPercent >= 80) && (_toxPercent < 90)) :  {_colourToxicity =  _colour10;};
            case((_toxPercent >= 70) && (_toxPercent < 80)) :  {_colourToxicity =  _colour20;};
            case((_toxPercent >= 60) && (_toxPercent < 70)) :  {_colourToxicity =  _colour30;};
            case((_toxPercent >= 50) && (_toxPercent < 60)) :  {_colourToxicity =  _colour40;};
            case((_toxPercent >= 40) && (_toxPercent < 50)) :  {_colourToxicity =  _colour50;};
            case((_toxPercent >= 30) && (_toxPercent < 40)) :  {_colourToxicity =  _colour60;};
            case((_toxPercent >= 20) && (_toxPercent < 30)) :  {_colourToxicity =  _colour70;};
            case((_toxPercent >= 10) && (_toxPercent < 20)) :  {_colourToxicity =  _colour80;};
            case((_toxPercent >= 1) && (_toxPercent < 10)) :  {_colourToxicity =  _colour90;};
            case(_toxPercent < 1) : {_colourToxicity =  _colour100;};
        };
        
        //Stamina
        _colourStamina = _colourDefault;
        
        //display the information 
        ((uiNamespace getVariable "statusBar")displayCtrl 55555)ctrlSetStructuredText parseText 
            format["
            <t shadow='1' shadowColor='#000000' color='%10'><img size='1.6'  shadowColor='#000000' image='addons\status_bar\images\players.paa' color='%10'/> %2</t>
            <t shadow='1' shadowColor='#000000' color='%11'><img size='1.6'  shadowColor='#000000' image='addons\status_bar\images\damage.paa' color='%11'/> %3%1</t> 
            <t shadow='1' shadowColor='#000000' color='%10'><img size='1.6'  shadowColor='#000000' image='addons\status_bar\images\krypto.paa' color='%10'/> %4</t> 
            <t shadow='1' shadowColor='#000000' color='%12'><img size='1.6'  shadowColor='#000000' image='addons\status_bar\images\hunger.paa' color='%12'/> %5%1</t> 
            <t shadow='1' shadowColor='#000000' color='%13'><img size='1.6'  shadowColor='#000000' image='addons\status_bar\images\thirst.paa' color='%13'/> %6%1</t> 
            <t shadow='1' shadowColor='#000000' color='%15'><img size='1.6'  shadowColor='#000000' image='addons\status_bar\images\stamina.paa' color='%15'/>%9</t>
            <t shadow='1' shadowColor='#000000' color='%19'><img size='1.6'  shadowColor='#000000' image='addons\status_bar\images\toxicity.paa' color='%19'/>%20</t>
            <t shadow='1' shadowColor='#000000' color='%14'><img size='1.6'  shadowColor='#000000' image='addons\status_bar\images\energy.paa' color='%14'/>%8%1</t> 
            <t shadow='1' shadowColor='#000000' color='%10'>FPS: %7</t>
            <t shadow='1' shadowColor='#000000' color='%10'>GRIDREF: %16</t>
            <t shadow='1' shadowColor='#000000' color='%10'><img size='1.6'  shadowColor='#000000' image='addons\status_bar\images\restart.paa' color='%10'/>%17:%18</t>",
                    "%", 
                    _players,
                    _damage,
                    _wallet, 
                    _hunger, 
                    _thirst, 
                    round diag_fps, 
                    _energyPercent, 
                    _stamina,
                    _colourDefault,
                    _colourDamage,
                    _colourHunger,
                    _colourThirst,
                    _colourEnergy,
                    _colourStamina,
                    format["%1/%2",_xx,_yy],
                    _hours,
                    _minutes,
                    _colourToxicity,
                    _toxPercent
                    
                ];
        
        
                
            
    }; 
};

Realy sorry for the disturb

Link to comment
Share on other sites

  • 0

Oh 

Can i do this ? 

_players = (count playableUnits -1);

 if (_hours == 0 && _minutes == 30) then {systemChat "Server Restart in 30 minutes"};

if (_hours == 0 && _minutes == 20) then {systemChat "Server Restart in 20 minutes"};

if (_hours == 0 && _minutes == 10) then {systemChat "Server Restart in 10 minutes"};

if (_hours == 0 && _minutes == 05) then {systemChat "Server Restart in 5 minutes"};

if (_hours == 0 && _minutes == 01) then {systemChat "Server Restart in 1 minutes"};

 

and what i need to do that the message juste show it 1 time and not every 60 second like you say ?

 

Link to comment
Share on other sites

  • 0

Ok like this then ! 

Spoiler

_players = (count playableUnits -1);

 if (_hours == 0 && _minutes == 30) then {systemChat "Server Restart in 30 minutes"};

if (_hours == 0 && _minutes == 20) then {systemChat "Server Restart in 20 minutes"};

if (_hours == 0 && _minutes == 10) then {systemChat "Server Restart in 10 minutes"};

if (_hours == 0 && _minutes == 5) then {systemChat "Server Restart in 5 minutes"};

if (_hours == 0 && _minutes == 1) then {systemChat "Server Restart in 1 minute"};

And now the repeat time ... i never did this before

so after if (_hours == 0 && _minutes == 1) then {systemChat "Server Restart in 1 minute"},1,true; ???

to repeat 1 time ?

 

 

Link to comment
Share on other sites

  • 0

It's a bit dificult for a newbi like me :) you are my jedi :)

so for the playestatusbat its ok like this

Spoiler

        if (_hours == 0 && _minutes == 30) then {systemChat "Server Restart in 30 minutes"};
        if (_hours == 0 && _minutes == 20) then {systemChat "Server Restart in 20 minutes"};
        if (_hours == 0 && _minutes == 10) then {systemChat "Server Restart in 10 minutes"};
        if (_hours == 0 && _minutes == 5) then {systemChat "Server Restart in 5 minutes"};
        if (_hours == 0 && _minutes == 1) then {systemChat "Server Restart in 1 minutes"};

Now i need to go into the init.statusbar.sqf to set a variable for the repeat message ? 

Spoiler

waitUntil {!isNuLL(uiNameSpace getVariable ["EPOCH_loadingScreen",displayNull])};
waitUntil {isNuLL(uiNameSpace getVariable ["EPOCH_loadingScreen",displayNull])};
waitUntil {!isNull player};
waitUntil {!(isNull (findDisplay 46))};

//Status Bar Config and Startup Options

//Choose Options
//--------------------------------------------------------------------------------------------------------------------------------------        
_WSC = false;  //Option whether to use and display world space coords in the admin status bar (true or false)


_sb_admin_list = ["76561197981218019","76561198093587690","76561198180739080"];    
//--------------------------------------------------------------------------------------------------------------------------------------

//Start the Status Bar
    
if ((getPlayerUID player) in _sb_admin_list) then  //admins id here

    if (_WSC) then
    {
        [] execVM "addons\status_bar\adminbar_ws.sqf";
    }
    else
    {
        [] execVM "addons\status_bar\adminbar.sqf";
    };

else 
{
    [] execVM "addons\status_bar\PlayerBar.sqf";
};

Thats my init , where can i put it and can you pleas say me if i'm good for the moment ? 

and can you give me the variable to set ? 

like i say i learn a bit with you now and i will thank you for this again !

Link to comment
Share on other sites

  • 0

Sorry for the late answere..  I falling asleep..  

So, im sorry but I'm really booby in this 

[_halfanhour] execvm "playerbar.sqf"; is this the real code for the 30 min repeat message ? 

Sorry if I disturbe you..  

Can you say me if I'm wrong in the first code statusbar.sqf..  The code like this will work ?

And if you can help me for the ini repeat message so I can save this and try it.. 

Really sorry about that.. But you help me so much. 

Link to comment
Share on other sites

  • 1

i gave you everything what you need but i dont write the code for you as i did already for the batch file.

Search the web how to init a arma3 variable and the dif between local and global variables. There are a lot of tutorials.

It will help you to understand those things.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
  • Discord

×
×
  • Create New...