{"id":18721745,"url":"https://github.com/emily33901/argon","last_synced_at":"2025-04-12T14:32:47.659Z","repository":{"id":103790898,"uuid":"130575303","full_name":"emily33901/Argon","owner":"emily33901","description":"Open source steamclient.dll replacement","archived":false,"fork":false,"pushed_at":"2022-12-08T00:53:50.000Z","size":1709,"stargazers_count":26,"open_issues_count":2,"forks_count":3,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-26T09:03:36.805Z","etag":null,"topics":["backend","ipc","steam","steam-api","steam-client","steamkit2","steamworks"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/emily33901.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-22T14:29:25.000Z","updated_at":"2024-12-11T17:29:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"30381bb8-1aca-4f5e-a06a-12b0e71e1040","html_url":"https://github.com/emily33901/Argon","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emily33901%2FArgon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emily33901%2FArgon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emily33901%2FArgon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emily33901%2FArgon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emily33901","download_url":"https://codeload.github.com/emily33901/Argon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248581034,"owners_count":21128092,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","ipc","steam","steam-api","steam-client","steamkit2","steamworks"],"created_at":"2024-11-07T13:36:29.096Z","updated_at":"2025-04-12T14:32:47.653Z","avatar_url":"https://github.com/emily33901.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Argon\n\nArgon `/ˈɑːɡɒn/` is an attempt to create a open source replacement for `steamclient.dll` that can be used as a drop-in replacement for the original version (which is definitely very far-fetched). Argon is __not__ `open-steamworks`. it is not trying to expose interfaces that already exist to users, it is trying to replace the interface in its entirety.\n\nThere is still lots of work to be done, Argon is only in its infancy right now. \nMore reversing and implementing still needs to be done in order to make this project viable, although the overall structure has been established (see the longer overview for more information about this).\n\n## Quick overview:\n`Argon` aims to mimic the frontend behaviour of `steamclient` (that is not the UI but rather the backend for steam) so that it can be dropped inplace and functionality should remain intact. \nIt primarily uses C# and alot of interoperability helpers to expose code. \nThe `steamclient` project bootstraps the `ArgonCore` project and then through the `steamclient` C api users will interact with `Argon` in the same way they did with the default `steamclient`.\n\n# TODO:\n\n## Infrastructure\n\n### IPC\n - [x] Write an ipc api between server / multiple clients\n - [x] IPC transport of Pointers (\"out\" variables)\n - [x] IPC transport of Buffers (fixed size \"out\" variables)\n \n ### Interop\n - [x] Interop between cxx and csharp\n - [ ] 32bit linux interop between cxx and csharp\n - [x] Interop between csharp and cxx (Interface exporting)\n\n### Steam specific\n\n - [ ] Send callbacks to client\n - - [x] Send data\n - - [x] Replicate to all pipes\n \n - [ ] \"Async call\" manager\n \n \n ## Interfaces\n \n ### Unversioned (IClient...)\n - [ ] IClientEngine\n\nOnly some of IClientFriends and IClientUser have been implemented\n \n ### Versioned (ISteam...010)\n - [x] ISteamClient017\n \nMost of ISteamFriends and some ISteamUser have been implemented\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femily33901%2Fargon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femily33901%2Fargon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femily33901%2Fargon/lists"}