1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Upcoming v3.0 Release

Discussion in 'News' started by Wilson212, Mar 17, 2017.

  1. Wilson212

    Wilson212 Administrator Staff Member

    Hello everyone! It's no secret that version 3.0 of the ASP has been in development (and multiple hiatus) over the last 3 and a half years now. Today I come bringing good news, the ASP is about 85% complete now! This new ASP has so many more features over version 2.2, and I will list them below:
    • Written on a new MVC Framework: Version 3 has been written on a brand new MVC framework of my own design. Inspired greatly by C#'s structure and it's naming conventions, long gone are the days or procedural functions. Everything in the framework is now written in Object Oriented classes. Modules now have their own self-containing folders, with views, images, JavaScripts, style sheets and models. As you will see in some of the screenshots below, the new core is blazing fast, rendering some pages in less than one-tenth of a second.
    • No More .aspx Files: Let's face the facts here, most headaches with this system have been setting up this system from scratch. The biggest headache of all was getting the ASPX files to work correctly.;) Version 3 will no longer use .aspx files! Instead, we will use the power of Apache Mod Re-write to write the .aspx file calls to php scripts.
    • Enhanced Security: In version 2.2 and earlier versions, there were some security holes in the aspx calls. For example, anyone could open up a connection to "GetPlayerId.aspx" and with the proper parameters, create a new record in the database. Now if said person used a tool that could call that request 10 or more times per second, well you could imagine what would happen! In version 3 of the ASP, no aspx calls are allowed to write to the database any longer. You will not have to worry about hackers getting data into your database through the aspx calls as before.
    • Redesigned Database: After taking some college courses on database design and organization, I have come to realize just how poorly designed the original database tables are (not to be offensive to the original devs in any way of course :) ). There are no foreign key relationships between tables, and many player related tables are a 1:1 (one to one) relationship, which is considered bad design in nearly every situation. Databases are designed with a 1:M (one to many) relationship patterns, and this is how the new database is designed. As you can see in this diagram, all the data in the new design is all connected together as it should be.
    • New Snapshot Format: To help reduce the load of processing a snapshot, snapshots are now transported and stored in JSON format. By switching to json format, snapshot processing is roughly 33% faster than it used to be. Through testing, we managed to cut down from 450 milliseconds to 280 milliseconds in snapshot processing speed. Snapshots are now also used by some modules in the ASP to display advanced round and player statistics.
    • Cross Service Exploitation Prevention: Now that Gamespy has shut down, there are plenty of "Gamespy" service providers, such as Battlelog.co for example. To prevent users from logging into one service provider, and jumping on a server that uses a different service provider, the stats enabled python comes with new scripts to kick players that are exploiting their login sessions. The ASP adds a new aspx call (VerifyPlayer.aspx) that will be used to ensure that players are using your Gamespy services, and are not banned or using any sort of name hacks. Snapshot processing also includes checks against CSE and banned players and will reject processing snapshots that have any detected CSE issues.
    • More Robust Server Administration: In the past, you had to white-list servers by IP Address before they could post snapshots to the ASP. In version 3, I decided to take this one step further by changing this system and introducing a Ranked Provider management system. Now, you can assign groups, such as bf2 clans or ranked service providers with Authentication Ids and Tokens. Any bf2 server within this group can use this AuthID and AuthToken to essentially authenticate itself, and post stats to the ASP. To provide increased security and control, you as the stats admin can Suspend auth keys and tokens at any time and for any reason. If a ranked provider has been suspended from posting snapshots to the ASP, all of their server's snapshots will need manual authorization from the stats admin before their stats are saved. Any time you visit the ASP admin panel, you will see a number indicator telling you that there are snapshots awaiting your approval. Once you approve a snapshot, it will be processed immediately.
    • Ability to View Round History: Version 3 comes with a few new modules, such as the Round Info module, which provides you the ability to view the details of every round that passes through the stats system.
    • Player Stats and History View: The Players module has gotten a much-needed facelift. As an admin, it is important that you have the tools to view a player's stats to catch any sort of cheating. Also included is enhanced player administration actions, such as being able to set a password on the player account, ban the player, and reset their stats and/or awards.
    • Full Ajax Installer: I designed a new fancy, fully ajax installer for version 3 to help the installation process go as easily and smoothly as possible.
    • Support for Custom Awards, Unlocks and More: With all of the battlefield 2 mods around, it's sad that this was never included in 2.0+. Version 3 of the ASP will have support for custom awards, unlocks, weapons, armies, vehicles, and kits. (screenshot 1, screenshot 2, screenshot 3). These custom additions will be displayed properly in the ASPX API for servers requests only. The reason for this is that BFHQ will not display the data in the correct fields if there is any custom data output from the aspx.
    The new ASP version will have different requirements over 2.2, so I will list them here for you:
    • PHP Version 5.6.2 or newer (compatible with 7.0+)
    • Apache v2.2 or newer.
    • Apache Mod Rewrite (popular Apache module).
    • MySQL 5.5 or newer (untested on older versions) or MariaDB 10 or newer

    That's all I have now for the update. The new ASP will be officially tested by the guys over at Nations At War (mod). A release is expected to be around February 12th, 2019. As always, this is an open source project and you can follow along with my progress at GitHub. Please let me know what you guys think. :D

    Last edited: Dec 30, 2018
    NUKE, Sunnyghost, DOYLE and 7 others like this.
  2. Merc41

    Merc41 Member

    Absolutely Impressive Wilson. You definitely are a very talented person. Can't wait for the new updated version. Thanks man.

    Wilson212 likes this.
  3. beijifeng

    beijifeng New Member

    It's good jobs ! fighting!
    Wilson212 likes this.
  4. Ryuop

    Ryuop Member

    Nice work Wilson :)
    Wilson212 likes this.
  5. MrNiceGuy

    MrNiceGuy Founder Staff Member

    Amazing work! Well done :D
    Wilson212 likes this.
  6. El_Coyoto

    El_Coyoto New Member

    You're my hero :) many thanks for your work :)
    Wilson212 likes this.
  7. Salzstange

    Salzstange Member

    Wooow awesome, after so many years you are still working out this awesome shit! haha! BUT are we able to import our stats from the old database? Because we have over 3000 players :eek:
  8. Wilson212

    Wilson212 Administrator Staff Member

    Hey there Salz! At the moment, you are not able to migrate stats from version 1 or 2 of the stats database. Hopefully I can get a working migration tool finished before release, but with 3,000 players it will be a heavy script / program.
  9. El_Coyoto

    El_Coyoto New Member

    Hello Wilson, another little question, will the bfsclone still work with the new database/bf2statistics.php design ?
  10. Salzstange

    Salzstange Member

    hm okay then we cannot use the new version :/ a pity.
  11. Wilson212

    Wilson212 Administrator Staff Member

    No it will not, but I will be releasing an update for bf2sclone shortly after that will work with the new design ok :)

    I'm sorry to hear that, but I also understand. I will see what I can do today in terms of a migration tool. The new database design is just so much different unfortunately.
    El_Coyoto likes this.
  12. Wilson212

    Wilson212 Administrator Staff Member

    Hey all! Just dropping by to give a quick update on the new ASP. Version 3 of the ASP will come packaged with an Anti-Cheat module of my own design called "BattleSpy"! It is designed to flag players who exceed certain thresholds (set by you, the admin) and log them into the database for further investigation. It will be up to you to investigate the matter and decide what action to take (BattleSpy will never ban or suspend a player). BattleSpy can be disabled if you do not wish to use it. Each time you visit the ASP, you will see a menu option with a highlighted number next to it, showing you how many reports there are waiting for you:


    If there are no issues when a round is processed, no report will be generated. So if you see a number greater than 0 here, it's in the admins best interest to read the report and do a small investigation into the matter. The ASP comes with a very robust round information screen, allowing you to see many details and scoring in the round itself, as well as each individual players stats for that round.

    Currently, BattleSpy flags in 4 areas:
    • Score per minute exceeds threshold
    • Excessive kills on a single player (Stat Padding)
    • Excessive kills per minute in the round
    • Excessive awards earned by a single player in the round
    If you guys have any suggestions for other area's in which to flag players, please let me know with a comment below. Hope you guys are all having a good day, and I will chat with you all soon!
    Last edited: Mar 29, 2017
    MrNiceGuy likes this.
  13. MrNiceGuy

    MrNiceGuy Founder Staff Member

    This made me think of one of the tools i used to manage my BF4 servers, though it works in a different way, maybe some ideas can be harvested and adapted from the script. It's huge, and have tons of features!

    Check it out: https://github.com/AdKats/AdKats#internal-hacker-checker-with-whitelist

    Wilson212 likes this.
  14. Wilson212

    Wilson212 Administrator Staff Member

    Hey everyone! I will be releasing a Closed Beta version of the ASP on May 1st for those who want to test out version 3 of the system! It will come with a Gamespy Server to allow you to login and test all of the ASP features. I will be providing support and help to those who do decide to participate in the beta.

    For those of you who wish to participate in the beta, leave me a reply here in this thread (or PM me) and on May 1st I will shoot you the Beta code. Your feedback and bug reports will be very important to me, and getting the finalized version of the ASP bug free. Please note that this system will require a fresh database table, as the system is incompatible with V2.2 stats tables.

    S*DADY*ASH*TF* likes this.
  15. Saltstick

    Saltstick New Member

    Hey Wilson, we would appreciate it to test it on May 1st! So we can check out any bugs and we can also look for a migration for us!
  16. Salzstange

    Salzstange Member

    Wrong account haha, Saltstick is me too
  17. Wilson212

    Wilson212 Administrator Staff Member

    Hey there Salz, I will send you the Beta on May 1st. Thanks for your support! :D
  18. JayDLX

    JayDLX New Member

    Hey wilson, nice to hear the new changes! :)
    The migration tool would be very important for us and is a must have, otherwise all previous player data would be lost.

    I could help you with writing the imigration tool, which I would write in java. Maybe I can contact you ?

    I would make the code free aviable for all, maybe directly in your git repository? let me know! :)

  19. Wilson212

    Wilson212 Administrator Staff Member

    Hey there JayDLX! If you made a migration tool, it would really lift some work off my shoulders. The new database schema is very different, but I will help you every which way I can of course ;). You can contact me however you wish, my skype is wilson21288. I am on vacation for spring break though, so I won't be getting any work done until April 17th when I get home again.
  20. SimpleCold

    SimpleCold New Member

    Huge respect for your work, Wilson!:cool:

    Hope the update won't break anything, since it's already almost perfect, except for security concerns;)