Skip to content

A script to search through Halo2 results from Bungie.net for pairs of gamertags

Notifications You must be signed in to change notification settings

AndersOhman/Halo2Finder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 

Repository files navigation

Halo2 Friend Finder README

#==============================================================================
............................/%&@@@@@@@@@@@@@@@@&%\,............................
....................../&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%,......................
.................#@@@@@@@@@@@@&%#(***********)@@@@@@@@@@@@@@@*.................
.............,&@@@@@@@&*.........................&@@@@@@@@@@@@@&...............
...........&@@@@@&.............._/$%##%###*\..........%@@@@@@@@@@@/............
.........&@@@@&.............,/%&#/.......\#%##\...........(@@@@@@@@@@\.........
........@@@@&............./%#&/............|&%##\.............(@@@@@@@@@#......
...&@@@@@@@(............................../%##%&|...............*@@@@@@@@@,....
....(@@@@@#............................../###&/..................@@@@@@@@@@&...
................................__/#&##%#%*/......................@@@@@@@@@@%..
............................../%*#%#%/............................&@@@@@@@@@...
.........................../(###%*%(............./#.............*@@@@@@@@@@*...
........................./%####%$$###%%#####%&&%#&.........&@@@@@@@@@@@........
.......................................................#@@@@@@@@@@@@@..........
...............$$$*@@@@@&/......................(&@@@@@@@@@@@@@@@@%............
..................,&@@@@@@@@@@@@@@@........@@@@@@@@@@@@@@@@@@@.................
........................*#&@@@@@@@@@@@@@@@@@@@@@@@@@@@@&/......................
..................................,@@@@@@@@@@@/................................

%&&%                        /\           %#%%/                 /%%%%%%%%%(
 %%%        *%%(          %#%%(           /%%%            *%/           ,%%%
 %%% .......,%%%         ///(%%#,         #%%%           %%.     #&%      %%%.
 /%%%       %%##      %#%%     %#(/       %%##                            ##%
 %##(       #(((    ((((        *(#%*+    %/((((/%((#%(      %***++++*(#%(*

===============================================================================

Made (in part) as a "fun" exercise to teach myself how to scrape and parse webpages in Julia for an academic project.
Dedicated to Defection.

Updates

  • May 10th, 2022: Well, with the death of the Bungie-era archives in 2021, this script will never work again - unless someone adapts it to work with the archive.org backup.
  • June 3rd, 2020: Calculates percentage of games played together, and reports date & time of first and last games. Used OrderedCollections.jl to do so.
  • May 27th, 2020: Now the date and time of each game is grabbed and written to the output as well.
  • May 20th, 2020: Okay, that wasn't too bad. The old version should still work under Julia 0.7, but the latest version has been updated to the standards of Julia 1.0. I also fixed the Guest bug (needed two escape \ for a string + regex combo).
  • May 19th, 2020: It looks like everything about Julia changed since I wrote this! The Requests package I used has been depreciated in favor of HTTP. In addition, some basic Julia syntax (like readline(STDIN)) has changed as well, breaking... everything. It may take some time to retrofit this...
  • March 21st, 2018: Original Release

Core Concept

To see if, when, and how many times you played Halo 2 on Xbox Live with someone else, by searching the legacy Game Viewer for both of your gamertags and exporting a list of games (with links to the viewer pages).

Instructions

  1. Input gamertag 1 (i.e. yours).
  2. Input gamertag 2 (i.e. your friends').
  3. The script will load the primary gamertag's Game Viewer page.
    1. It counts the number of pages to search through, and calculates search duration based on the delay.
    2. For each page, it opens every game listed sequentially.
    3. It then searches the game for the secondary gamertag.
    4. If found, it makes a note of the game ID number.
  4. It returns a text file of the results, including a count of how many games resulted and links to the viewer pages!

Dependencies

Julia Packages:

Known Bugs

  • The sleepTime variable exists because the Halo.Bungie.Net website will occasionally time out requests that are too rapid in succession. While the 0.5 setting (a half-second delay) was sufficient to resolve this for me, you may need to increase this value if you are seeing this issue frequently.

TODO

Next steps:

  • Update to Julia 1.0 syntax changes
  • Fix Guest searching
  • Tiny ASCII boot logo
  • Parse timestamp of each game
  • Get date info for each game
  • Add a "verbose" toggle for the . and * display
  • Report additional game stats (i.e. % of games, first/last game, win:loss)

Time estimate things:

  • Grab the current time and give finish time estimate (133)
  • Implement a loading bar (121)
  • Report actual time elapsed (199)

Contact

Anders Ohman
andy.ohman@gmail.com

About

A script to search through Halo2 results from Bungie.net for pairs of gamertags

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages