Page 1 of 1

Runcron for PvP what interval?

Posted: Tue May 08, 2012 6:19 pm
by vitinho444
Hey guys, as the title says, im making the PvP for my browser game.. and i need to check for the time of the battle so it works right.. but i cant do it from hour to hour because that's too much...
My concern is that second by second it puts the server too laggy... what can i do for this?

Re: Runcron for PvP what interval?

Posted: Tue May 08, 2012 6:43 pm
by Foofighter
why do you need to refresh the page so often?
pls describe how your pvp system works?
what time of the battle?

Re: Runcron for PvP what interval?

Posted: Tue May 08, 2012 6:58 pm
by vitinho444
ok it goes like this:

Player chooses troops basicly, then they are removed from the village and stored in a db with the id of the 2 players, the attack and defense power and the time of arrival.

Then i want to make a script that checks, if there's a battle, for the time of arrival = current time..
Then i will calculate both attack and defense powers and make the result of the battle..

It can be anything else besides runcron but i dont know any other way so im asking you guys :D

Thanks

Re: Runcron for PvP what interval?

Posted: Tue May 08, 2012 7:43 pm
by Ark
Ok so based on that cronjobs only run at unix and linux servers, you would have to make a command for that server to create a cronjob.

As your game is just like tribalwars (I miss that game!) you don't have to make an interval to run every second or min, that'll waste resources. Better just to make a cronjob especifically for that 'attack', and then delete it.

some of the basics:
Cron Job Command Basics
In the following example, the crontab command shown below will activate the cron tasks automatically on the hour:

0 * * * * wget -O - -q -t 1 http://www.instantphp.com/cron.php

the 0 * * * * part in the example above is the time when the cron job is going to happen. There is a diagram below to explain the general crontab syntax

# +---------------- minute (0 - 59)
# | +------------- hour (0 - 23)
# | | +---------- day of month (1 - 31)
# | | | +------- month (1 - 12)
# | | | | +---- day of week (0 - 7) (Sunday=0 or 7)
# | | | | |
* * * * * command to be executed

Thus, the cron command example above means "ping http://www.instantphp.com/cron.php at the zero minute on every hour of every day of every month of every day of the week."
how to add a cron:
How To Add A Cron Job
Cron jobs are scheduled by setting up a "crontab." A crontab is a text file that contains the commands to be run. This file can be created and edited either through the command line interface
source: http://www.instantphp.com/news/37-tips- ... n-job.html

well I think that's the way to go, I admit i'm no expert on cronjobs and don't know exactly how to do it but hope the info would be helpful.

Re: Runcron for PvP what interval?

Posted: Tue May 08, 2012 7:59 pm
by Foofighter
vitinho444 wrote:ok it goes like this:

Player chooses troops basicly, then they are removed from the village and stored in a db with the id of the 2 players, the attack and defense power and the time of arrival.

Then i want to make a script that checks, if there's a battle, for the time of arrival = current time..
Then i will calculate both attack and defense powers and make the result of the battle..

It can be anything else besides runcron but i dont know any other way so im asking you guys :D

Thanks
i dont quite understand why u think u need a cronjob here..
u got already the time of the arrival in the db.. i would suggest that u save instead a timestamp in the db(time()+traveltime) and then make a simple check if timestamp <= time() do the calcs for my battle..

Re: Runcron for PvP what interval?

Posted: Wed May 09, 2012 5:33 pm
by vitinho444
Oh i see, just put

if(attack)
{
see time of arrival

if(currentime > eta)
calc attack

else
show time left

}

like that?

Re: Runcron for PvP what interval?

Posted: Wed May 09, 2012 5:44 pm
by Foofighter

Code: Select all

<?php
if (isset($_POST['attack']))
    {    
    $time=time() + TRAVELTIME;
        mysql_query("UPDATE [u]table[/u] SET Attack_time = $time WHERE id ='".$_SESSION['uid']."'");
    }
/*-------------------------------------------------------------*/
?>
<?php  if (DBQUERY-Attack_time > 0)
{
     ?> Restbauzeit: <?php $rest=ATTACK-time - time(); if ($rest <0){$rest = 0;} echo"$rest"?> <?php  //shows the time which is left 
}                                                                 
else     
        { ?> 
                 <form action="#" method="post">
                    <input type="submit" value="attack" name="bau" >
                </form>
<?php   } ?>
<?php
//button for attack dunno if u need
?>
just copied it out of my code.. hope it helps - i edited a few things for your purpose but not all

regards

Re: Runcron for PvP what interval?

Posted: Wed May 09, 2012 6:40 pm
by vitinho444
I got the "button" as long the system working very fine, i was just asking if it can be done as i said, just check for attack if you visit the page..