Code Monkey home page Code Monkey logo

fall_guys_ping_estimate's People

Contributors

notatallshaw avatar rossdonald avatar soulee-dev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

fall_guys_ping_estimate's Issues

fgpe directory not found on new install

PS C:> python -m fgpe
Traceback (most recent call last):
File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in run_module_as_main
return run_code(code, main_globals, None,
File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in run_code
exec(code, run_globals)
File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\fgpe_main
.py", line 193, in
logging.basicConfig(
File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\logging_init
.py", line 2040, in basicConfig
h = FileHandler(filename, mode,
File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\logging_init
.py", line 1169, in init
StreamHandler.init(self, self.open())
File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\logging_init
.py", line 1201, in _open
return open_func(self.baseFilename, self.mode,
FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\user\AppData\Roaming\fgpe\errors.log'

Manually creating C:\\Users\\user\\AppData\\Roaming\\fgpe corrected the issue.

Have a configuration file

Have a configuration file, all the variables should be configurable:

  • Ping Frequency
  • Font
  • Font Size
  • Background Color
  • Foreground Color
  • ...

Only spawn ping process once?

Rather than creating a new subprocess each time, only spawn it once, and parse it's output on a separate thread or process and send stats back on a queue?

Would use ping arguments that run infinitely.

Would have to handle killing the process and maybe it also crashing.

Add Fall Guys Server Locations

Based on IP Address display the Fall Guys server locations.

I tried using a GeoIP library for this but it seems the offline ones are outdated and the online ones all require an account.

Probably just going to have to hard code them.

Disconnect Bug

I noticed sometimes that it it's not always picking up that it has been disconnected from the server after a match but before you rejoin.

There are a number of disconnect messages in the log, perhaps pick a different one to monitor or make the query a little more broad.

Automatically Create Installer

I tried using Github Workflows to automatically create an installer, but I couldn't figure out how to:

  1. Not have it wrapped up as a zip file
  2. Include in the release

This was my yaml so far, clearly needs some fixing:

name: Package exe with PyInstaller - Windows

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  build:

    runs-on: windows-latest

    steps:
    - uses: actions/checkout@v2
    - name: Set up Python 3.9
      uses: actions/setup-python@v2
      with:
        python-version: 3.9
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        python -m pip install pyinstaller
        python -m pip .
    - name: build with pyinstaller
      run: |
        pyinstaller --noconsole --onefile run_fgpe.py
    - uses: actions/upload-artifact@v2
      with:
        name: run_fgpe.exe
        path: dist

Create Tests!

I've never written tests before, I should really learn.

Use mtime of log file as a heuristic to see if Fall Guys is running

Currently on every event loop we check if the Fall Guys process is running.

This is the most lengthy part of the event loop, taking 0.2 to 0.3 seconds, where as getting the mtime of a file takes less than 0,0001 seconds.

Heuristics: If log file has been updated in less than refresh window assume that the Fall Guys game is running, if the log file hasn't been updated in over 1 hour assume that the game is not running, otherwise check if the process is running.

App crashing on startup

Crashes on startup. Happy to provide logs if necessary.

> python -m fgpe
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\username\scoop\apps\python\current\lib\tkinter\__init__.py", line 1892, in __call__
    return self.func(*args)
  File "C:\Users\username\scoop\apps\python\current\lib\tkinter\__init__.py", line 814, in callit
    func(*args)
  File "C:\Users\username\scoop\apps\python\current\lib\site-packages\fgpe\overlay.py", line 51, in update_label
    wait_time, update_text = self.get_new_text_callback()
  File "C:\Users\username\scoop\apps\python\current\lib\site-packages\fgpe\__main__.py", line 124, in update_text
    status, connection =  self.reader.get_connection_details()
  File "C:\Users\username\scoop\apps\python\current\lib\site-packages\fgpe\log_reader.py", line 72, in get_connection_details
    self._update_ip_from_log_file()
  File "C:\Users\username\scoop\apps\python\current\lib\site-packages\fgpe\log_reader.py", line 55, in _update_ip_from_log_file
    for line in f:
  File "C:\Users\username\scoop\apps\python\current\lib\encodings\cp1252.py", line 23, in decode
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 7153: character maps to <undefined>

Investigate using IP API to automate some of the IP lookup

Actually the ToS look good for ip-api, I will need to test querying a realistic amount of IP addresses and see if it balks in practice (so 20 per hour for a whole day) and also check the accuracy.

If it still looks good I would still want to:

  1. Distribute a file of cached IP address results to reduce the amount of times IP API is queried
  2. Still display the Fall Guys region. But I could do this with a more coarse mapping such as "New York -> US East".
  3. Anything else?

Originally posted by @notatallshaw in #44 (comment)

Fix Flickering

For some reason on the executable version of the program I see occasional flickering.

Need to investigate why it's happening and how to fix it.

Some information about CIDR is wrong

I use IPIP.NET to check the CIDR(129.227.0.0/16). I find the geographical location of the IP segment based on the network delay of the ICMP packet.

In 129.227.0.0/16

129.227.0.0/20 KR
129.227.32.0/20 PH
129.227.52.0/22 JP
129.227.64.0/19 SG

Given the limited time, I only checked part of the information for this CIDR to divert traffic for the Fall Guys game. Please consider updating the information in Fall_Guys_IP_Networks.csv.

Make Window Dragable

Investigate if it's possible to make the window dragable. If so, record the last position the user dragged it to so that next time it's opened it will be opened in that position.

Auto Update Server List

Check if we can connect to server list on the main branch and download it as the current version to use.

Peridically bring overlay to front

One thing I've noticed is sometimes the overlay can fall behind other windows. I'm not sure why this happens and can't find reproducible steps.

One workaround is if there's a way to bring the window to the front every time we update it. I don't think if this is possible, will need investigating.

no FG server found

Hello,
I didnt know how to contact you in other way. It only says Looking for FG server and then nothing ever happens.
Is this app still compatible with epic servers?? I'd really like to use your app!!
Can u help me out? Im on W11
Cheers Matt

Create Server Quality Value

Based on historical statistics, we can tell how good this ping is compared to normal.

There are a number of ways to approach this, will have to think a bit on it.

Make an installer

Use something like PyInstaller to make an exe that can be executed without needing to install Python / Dependencies

Would be good if it's automatically generated using GitHub workflows.

Could not reach Fall Guys IP

Hello, the overlays says "Could not reach Fall Guys IP: 193.118.53.6", "Could not reach Fall Guys IP: 172.241.68.180", etc etc

If i open a cmd and ping that IP i can ping it.

Do you know what could be the error, i tried running the program even in admin mode.

Thank you

Create "report unknown ip addresses" button

When a user has unknown ip addresses, that are actually unknown, and Fall Guys is closed then create a button that opens a GitHub Issue with either the IP addresses or instructions on how to attach the unknown addresses.

Shutdown Functionality

Need someway to gracefully shutdown the script/overlay. Some ideas:

  • Have an X region of the overlay that can be clicked on to close
  • Automatically shutdown when Fall Guys is shutdown

Log Stats

Log Stats so you can identify your best server

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.