GithubHelp home page GithubHelp logo

tauakiou / amonguscapture-gtk Goto Github PK

View Code? Open in Web Editor NEW

This project forked from automuteus/amonguscapture

19.0 1.0 1.0 26.24 MB

Capture of the local Among Us executable state

License: MIT License

C# 96.42% Python 3.28% Shell 0.30%

amonguscapture-gtk's Introduction

amonguscapture-gtk

Build

Capture of the local Among Us executable state

The amonguscapture-gtk project brings the amonguscapture utility to other platforms by removing the Windows dependent WinForms framework and replacing it with the open-source GTK framework (https://www.gtk.org/).

AmongusCapture-gtk is currently supported under:

  • Windows
  • Linux

Version v1.0 of the capture is no longer being supported. It will be replaced with the 'v2.0' branch when ready, but will remain archived under the 'au-gtk-final' branch. Please check Issue 15 for information on the v2.0 update.

Prebuilt Releases

  • Alpha releases of v2.0 are currently available from the releases page.

NOTE FOR LINUX USERS:

Some linux distributions will prevent AmongUsCapture from linking with the Among Us game process. This is due to a ptrace scope security feature.

In order for the capture to work, you must use setcap to add ptrace capabilities to the Capture process. Note that doing so will require root!

sudo setcap cap_sys_ptrace=eip <capture executable>

Also note that moving or changing the capture in any way will strip these permissions from the executable and you will have to setcap the capture again.

Distributions known to be affected by this:

  • Ubuntu
  • Arch

Requirements:

Windows:

While you can use amonguscapture-gtk under Windows, we recommend using the official release.

amonguscapture-gtk is a GTK3 app. Remember to choose the gtk3 installer when downloading the runtime.

Linux:

Building

Windows

    - Create a new file: 'version.txt' in the AmongUsCapture/ directory.
    - Loading the 'AmongUsCapture.sln' file and building should be sufficient enough.
  • Command Line
  - Navigate to the directory you cloned the git repository to, or where you extraced the source package to.
  
  - Create a new file 'version.txt' in the AmongUsCapture/ directory.
  - 'dotnet build --configuration Release' for release builds
  - 'dotnet build --configuration Debug' for debug builds

Linux

Instructions:

- git clone https://github.com/TauAkiou/amonguscapture-gtk

- cd amonguscapture-gtk

- dotnet build -c <release/debug>

Your code will be in amonguscapture-gtk/bin/<Release/Debug>/netcoreapp3.1> as "amonguscapture.dll".

If you want a standalone executable:

- cd amonguscapture-gtk

- dotnet publish "AmongUsCapture\AmongUsCapture.csproj" -p:PublishProfile=LinuxProfilex64 -p:AssemblyVersion=0.0.1

amonguscapture-gtk's People

Contributors

carbonneuron avatar denverquane avatar gattag avatar ianhiddleston avatar jftanner avatar nighthawkslo avatar nzbr avatar richunclecody avatar rishav394 avatar stenlan avatar tauakiou avatar zombiestruck avatar

Stargazers

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

Watchers

 avatar

Forkers

ozraru

amonguscapture-gtk's Issues

Stuck at "[GameMemReader]: Connected to Among Us process (10649)"

Hey, I'm trying to get amonguscapture-gtk to work, but it seems to get stuck at

[GameMemReader]: Connected to Among Us process (10649)

And never gets any further. "Current state" says "Disconnected". I have done the cap_sys_ptrace trick and even verified it with getcap.

I'm using Proton 5.13, and launching it through Steam with PROTON_USE_WINED3D=1 %command%.

Am I doing something wrong?

[GameMemReader]: GameMemReader has encountered a problem.

I successfully compiled and started the program.
The hook on the game process seems to work.
But then, I received the following error, and the current state of the game is always "Disconnected".

[GameMemReader]: Connected to Among Us process (10259)
[GameVerifier]: Game Version Check: PASS
[GameVerifier]: Game Validity Check: PASS
[GameMemReader]: GameMemReader has encountered a problem. Please restart the program.

OS :
Linux pop-os 5.8.0-7630-generic #32~1609193707~20.10~781bb80-Ubuntu SMP Tue Jan 5 21:29:56 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

I'm using Proton Experimental from Steam directly.

What happened to this project? & The Future

I started amonguscapture-gtk as a non-wine based answer to the original amonguscapture utility back in 2020 - this was back when I was running games of among us far more frequently with family, and wanted a capture solution that worked with the AutoMuteUs bot on Linux.

The work here required a linux-specific port of the Memory engine (which is now present in the official branch as a module in the Capture DLL) and a complete rewrite of the UI in GTK, which was based off of one of the older AU-Capture GUIs. It turns out that this was a surprisingly popular configuration, as some people were even using it under Windows.

I haven't worked much on amonguscapture-gtk, primarily because the original project has moved so quickly (this version is 500+ commits out of date!) and because I fell out of among us for awhile. However, I still assume that there is interest in a working Linux version, and there hasn't really been a proper, GUI-based solution for awhile.

Therefore, it's likely that I'm going to return to working on a Linux amonguscapture based on the latest commits of the amonguscapture project.

The focus will remain the same:

A lightweight, linux compatible amonguscapture GUI.

What will change:

Likely the windowing system. It's very likely that I'm going to consider moving to Avalonia (https://github.com/AvaloniaUI/Avalonia). It may be possible to salvage the older UI, but there are also several changes that I want to make (namely some modernizations) that will likely require a complete rework of the UI's general structure.

1.2.0 prerelease bug

While trying to run the prerelease I got this crash:

$ sudo ./AmongUsCapture-gtk-Linux-x64-Prerelease 
[sudo] password for calebjasik: 
/home/calebjasik/AmongUsCapture-gtk-Linux-x64-Prerelease
/var/tmp/.net/root/AmongUsCapture-gtk-Linux-x64-Prerelease/mexn2vqi.u3f/AmongUsCapture.dll
/home/calebjasik/AmongUsCapture-gtk-Linux-x64-Prerelease
Unhandled exception. System.IO.DirectoryNotFoundException: Could not find a part of the path '/home/calebjasik/applications/aucapture-opener.desktop'.
   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
   at System.IO.FileStream.OpenHandle(FileMode mode, FileShare share, FileOptions options)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
   at System.IO.StreamWriter.ValidateArgsAndOpenPath(String path, Boolean append, Encoding encoding, Int32 bufferSize)
   at System.IO.StreamWriter..ctor(String path, Boolean append)
   at System.IO.File.CreateText(String path)
   at AmongUsCapture.DBus.IPCadapterDBus.RegisterProtocol()
   at AmongUsCapture.DBus.IPCadapterDBus.HandleURIStart(String[] args)
   at AmongUsCapture.Program.Main(String[] args)
Aborted

whereas 1.1.0 works great: specifically only when run w/ sudo though.

Does not capture game

I am using the master branch
I am working on Arch Linux
I am using wine to run among us from steam

I have game opened
Among Us Capture Gtk opened
It connects to Auto Mute Us Discord Bot perfect, but it's not capturing game code and state

I was also testing a linux-mem-new branch and it detected the current state as "discussion" (code was still empty) when I was in lobby.

image
image
image

amonguscapture-gtk v2.0

amonguscapture-gtk v2.0 is a rebase onto the latest releases of amonguscapture.

What Works:

  • Linux authentication, capture connection.
  • Textfile Logging
  • DBus IPC Mechanism

What Currently Doesn't Work:

  • Nothing

What Is Untested:

  • Nothing

What Isn't Impemented (yet)

  • Capture-Side Bot
  • Console Logging
  • Any other new features from WPF.
  • RpcBuffer IPC Mechanism (Windows RPC)

What Won't Be Implemented:

  • Character pictures/cosmetics tracking.

Future Improvements:

  • Reworked UI
  • Ability to hide console
  • Suggest something?

Future improvements will be worked on after all major functionality is complete.

If you want to help test or make contributions, please use the v2.0 branch.

Not running on windows

Hi,

I have had no issue running it on Linux (at least starting the software, it couldn't hook onto the game for some reasons even if I added amonguscapture's bindings which are supposedly compatible to 2020.12.9) but when running on windows I have no issue compiling it but no window shows up, and nothing is logged in the powershell prompt, both in debug and release build

I have installed both dotnet core 3.1 and 5.0 but it seems to compile with 5.0

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.