All Projects → PaulCombal → Samrewritten

PaulCombal / Samrewritten

Licence: gpl-3.0
Steam Achievement Manager For Linux. Rewritten in C++.

Projects that are alternatives of or similar to Samrewritten

Steamlink Launcher
Steamlink launcher for OSMC
Stars: ✭ 78 (-27.1%)
Mutual labels:  steam
Steamos Ubuntu
Scripts to make an existing Ubuntu installation like SteamOS
Stars: ✭ 86 (-19.63%)
Mutual labels:  steam
Gamehub
All your games in one place
Stars: ✭ 1,341 (+1153.27%)
Mutual labels:  steam
Buff2steam
Find item which cheaper than steamcommunity from buff
Stars: ✭ 80 (-25.23%)
Mutual labels:  steam
Steamid.php
🆔 PHP library to work with SteamIDs
Stars: ✭ 83 (-22.43%)
Mutual labels:  steam
Steascree
SteaScree: Steam Cloud Screenshot Uploader
Stars: ✭ 91 (-14.95%)
Mutual labels:  steam
Steamworks
Exposing SteamWorks functions to SourcePawn.
Stars: ✭ 70 (-34.58%)
Mutual labels:  steam
Vac Hooks
Hook WinAPI functions used by Valve Anti-Cheat. Log calls and intercept arguments & return values. DLL written in C.
Stars: ✭ 103 (-3.74%)
Mutual labels:  steam
Punk
⚡ Alternative cross-platform Steam client for desktop
Stars: ✭ 87 (-18.69%)
Mutual labels:  steam
Scoop Galaxy Integrations
Provides an easy way to install, attach and update the GOG Galaxy 2 Integrations
Stars: ✭ 95 (-11.21%)
Mutual labels:  steam
Vpk
📦 Open, Search, Extract and Create VPKs in python
Stars: ✭ 79 (-26.17%)
Mutual labels:  steam
Steam Condenser Java
A library for querying the Steam Community, Source, GoldSrc servers and Steam master servers
Stars: ✭ 82 (-23.36%)
Mutual labels:  steam
Extended steamgifts
Stars: ✭ 92 (-14.02%)
Mutual labels:  steam
Spacehook
minecraft premium undeteck cheat!
Stars: ✭ 80 (-25.23%)
Mutual labels:  steam
Node Globaloffensive
A Node.js module to connect to and interact with the CS:GO game coordinator. Mostly used to get item data.
Stars: ✭ 96 (-10.28%)
Mutual labels:  steam
Steamcmd Autoupdate Any Gameserver
Windows SteamCMD to autoupdate and install any game server steam cmd settings configurable lots of useful features. This batch script will keep your game servers automaticly updated updating intervals announce the server is shutting down for updates etc all configurable.
Stars: ✭ 77 (-28.04%)
Mutual labels:  steam
Async Gamequery Lib
A high-performance java game query library designed for steam/source based games and others
Stars: ✭ 88 (-17.76%)
Mutual labels:  steam
Vapor
☁️ Lightweight Steam client framework for node.js
Stars: ✭ 105 (-1.87%)
Mutual labels:  steam
Steam Card Farmer
Idle your Steam games to get trading cards
Stars: ✭ 101 (-5.61%)
Mutual labels:  steam
Steam Condenser Ruby
A library for querying the Steam Community, Source, GoldSrc servers and Steam master servers
Stars: ✭ 95 (-11.21%)
Mutual labels:  steam

SamRewritten

A Steam Achievements Manager for Linux

SamRewritten logo

SamRewritten screenshot

SamRewritten screenshot

Introduction

SamRewritten is an open-source program that allows you to unlock and relock your Steam achievements. It is named after the famous Steam Achievement Manager written by Gibbed, and implements its functionalities on Linux, and more!

It comes with third-party tools integration and a nice user interface.

SamRewritten is constantly under development, if you think you can give us a hand, feel free to reach us :)

Building

To build this project, clone this repository on your PC, and run the make command within the repository folder that you downloaded.

Alternatively, you can download one of our releases in the AppImage format. Check the 'Release' tab of this repository to find them. To build your own AppImage, build SamRewritten normally, then execute build_appimage.sh in the package folder, it will take care of everything for you.

For Arch users, there is also a PKGBUILD within the package folder if you wish to build it using makepkg.

If you're encountering issues building SamRewritten, make sure you have installed the required packages on your machine. You'll most likely need Steam, curl, yajl, GTK 3, and GLib.

  • Ubuntu 18.04 and above: $ sudo apt install libgtkmm-3.0-dev libcurl4-gnutls-dev libyajl-dev

  • Arch and variants: $ sudo pacman -S gtkmm3 glibc gnutls yajl

  • openSUSE Tumbleweed, Leap 15.2+: $ sudo zypper install gtkmm3 gcc-c++ gnutls libcurl-devel libyajl-devel-static

  • Fedora 32+: $ sudo dnf install gtkmm30 gtkmm30-devel yajl-devel curl-devel g++

To run SamRewritten, simply launch $ ./bin/launch.sh

AUR Installation

You can install SamRewritten from the AUR by installing the samrewritten-git package.

Run SamRewritten by opening the corresponding desktop entry, or by using the samrewritten command.

Gentoo Installation

SamRewritten is available as games-util/samrewritten through the following overlay:

https://github.com/telans/EBUILDS

Features

SamRewritten's features match and exceed the original SAM:

  • Ability to unlock/relock achievements and change stats
  • Asynchronous and cached icon downloads for games and achievements
  • Ability to select/deselect all achievements for locking/unlocking
  • Ability to search games, achievements, and stats and filter achievements by locked/unlocked
  • Ability to launch another SamRewritten instance for a game in a new window
  • Protected achievements and stats are detected
  • Ability to show percent of players who achieved an achievement
  • Ability to time achievement modifications

This last one warrants some explanation. SamRewritten allows you to specify across what time period, with what spacing, and in what order to lock/unlock achievements. For example, you can unlock 10 achievements of your choice in a random order across 4 hours with random spacing between them. This is a powerful tool to allow you to make achievement management look more normal, rather than unlocking them all at once. This option can be accessed in the GUI by starting a game -> inputting the achievement modifications -> click the menu -> Start Timed Modifications -> choose your parameters -> Submit. The same functionality can be used with the CLI as well via the --timed parameter - an example is given below.

Command line options

I know you linux geeks love to use command line options! SamRewritten's commandline can do all the operations its GUI can! If no commandline arguments are given, the GUI will be launched.

Usage:
  samrewritten [AppId] [OPTION...]

      --apps                 Get the list of your owned apps.
  -h, --help                 Show CLI help.
  -a, --app arg              Set which AppId you want to use. Same as using
                             positional 'AppId'
  -i, --idle                 Set your Steam profile as 'ingame'. Ctrl+c to
                             stop.
      --ls                   Display achievements and stats for selected app.
      --sort arg             Sort option for --ls. You can leave empty or set
                             to 'unlock_rate'
      --unlock arg           Unlock achievements for an AppId. Separate
                             achievement names by a comma.
      --lock arg             Lock achievements for an AppId. Separate
                             achievement names by a comma.
      --timed                Do a timed achievement modification. Arguments
                             that affect this are --amount, --units, --spacing,
                             and --order
      --amount arg           Control the amount of time spent for --timed
                             modifications. Specify units with --units. Default
                             is 1000
      --units arg            Control the units of time spent for --timed
                             modifications. Set to 'seconds', 'minutes', 'hours',
                             or 'days'. Default is seconds
      --spacing arg          Control the spacing between appying each
                             modification for --timed modifications. Set to 'even' or
                             'random'. Default is even
      --order arg            Control the order --timed achievement
                             modifications are applied in. Set to 'selection' or
                             'random'. Default is selection
      --statnames arg        Change stats for an AppId. Separate stat names
                             by a comma. Use with statvalues to name the values
                             in order
      --statvalues arg       Change stats for an AppId. Separate stat values
                             by a comma. Use with statnames to name the values
                             in order
  -p, --launch_achievements  Launch SamRewritten GUI and immediately switch
                             to achievements page for the app.
      --launch               Actually just launch the app.

Example Usage

Change an achievement or stat value:

# Find what you want from the --ls command for app id 54 (you can retrieve app ids from the store page URL).
samrewritten 54 --ls

# Say we found achievements with IDs ach_500_kills and ach_found_something and stats stat_num_kills, stat_num_deaths
# Modify them like this
samrewritten 54 --unlock ach_500_kills,ach_found_something
samrewritten 54 --statnames stat_num_kills,stat_num_deaths --statvalues 10,1

Use the timed unlock on the commandline

# Using the same achievements from the previous example
samrewritten 54 --timed --unlock ach_500_kills,ach_found_something --amount 4 --units hours --spacing random --order random

Third-party apps integration

SamRewritten uses JSON to communicate between the interface and the "backend logic". Communications are transmitted via unix sockets. If you plan to make an app using some of SamRewritten's features, feel free to ask for help, for features, or to contribute.

Footnotes

This software is licensed under the GNU GPL v3 and comes with no warranty. Use it at your own risk. We believe you should not get any ban using it, but we do not take any responsability over your user experience

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].