How to limit the number of attacks per day per player

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • How to limit the number of attacks per day per player

      ?(
      :/ atoms are beaten a hundred times a day for some horror :S
    • I have tried, then you can no more attacks start the bash_protection is always activated.... :(Can anybody help me?```

      -- Server Info --Server Infos: Apache/2.4.25 (Ubuntu)
      PHP-Version: 7.0.15-1ubuntu4 (apache2handler)
      JSON Verfügbar: Ja
      BCMath Verfügbar: Nein
      cURL Verfügbar: Ja
      SafeMode: Nein
      MemoryLimit: 1280M
      MySQL-Client-Version:
      mysqlnd 5.0.12-dev - 20150407 - $Id: b5c5906d452ec590732a93b051f3827e02749b83
      $MySQL-Server-Version: 5.7.17-0ubuntu1
      ErrorLog: includes/error.log (1595, Aktiv)
      Timezone(PHP/CONF/USER): 2 / 2 / 2
      Suhosin: NeinDB Version: 4
      --------------------------------------------------------------------

      Als allererstes bekomme ich eine fehlermeldung durch die kommata in der sql anweisung, entferne ich diese funktioniert vorerst die abfrage welche allerding immer 1 als ergebnis liefert... sobald man jetzt jemanden angreifen möchte bekommt man die meldung bash-schutz und das wars!hat jemand zufällig irgendwelche denkanstöße griffbereit zum um die ohren hauen?!? *fg*
    • aalso die Fehlermeldung besagt:

      PHP Source Code

      1. Message: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' AND fleet_end_id = '178', AND fleet_state != '2', AND fleet_start_time > ' at line 3
      2. Query-Code:SELECT COUNT(*) as state FROM uni1_log_fleets WHERE fleet_owner = 1, AND fleet_end_id = 178, AND fleet_state != 2, AND fleet_start_time > 1505841756, AND fleet_mission IN (1,2,9);
      3. File: /includes/classes/Database.class.php
      4. Line: 123
      5. URL: http://192.168.178.239/pis/game.php?page=fleetStep3
      6. PHP-Version: 7.0.15-1ubuntu4
      7. PHP-API: apache2handler
      8. 2Moons Version: 1.8.git
      9. Debug Backtrace:
      10. #0 /includes/classes/Database.class.php(199): Database->_query('SELECT COUNT(*)...', Array, 'select')
      11. #1 /includes/classes/class.FleetFunctions.php(474): Database->selectSingle('SELECT COUNT(*)...', Array)
      12. #2 /includes/pages/game/ShowFleetStep3Page.class.php(268): FleetFunctions::CheckBash('178')
      13. #3 /game.php(57): ShowFleetStep3Page->show()
      14. #4 {main}
      Display All

      ohne die kommatas und mit workaround von hike läufts auch schon:

      PHP Source Code

      1. public static function CheckBash($Target)
      2. {
      3. global $USER;
      4. if(!BASH_ON)
      5. {
      6. return false;
      7. }
      8. $sql = 'SELECT COUNT(*) as state
      9. FROM %%LOG_FLEETS%%
      10. WHERE fleet_owner = :fleetOwner
      11. AND fleet_end_id = :fleetEndId
      12. AND fleet_state != :fleetState
      13. AND fleet_start_time > :fleetStartTime
      14. AND fleet_mission IN (1,2,9);';
      15. $Count = Database::get()->selectSingle($sql, array(
      16. ':fleetOwner' => $USER['id'],
      17. ':fleetEndId' => $Target,
      18. ':fleetState' => 2,
      19. ':fleetStartTime' => (TIMESTAMP - BASH_TIME),
      20. ));
      21. return $Count['state'] >= BASH_COUNT;
      22. }
      Display All

      ich hab 2 wochen dran rumgetüftelt und es war EIN wort! :/
      auf jedenfall vielen vielen dank an euch, klasse das ihr so schnell helfen konntet bzw. geholfen habt! :)