Skip to content
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Donate
Collapse

Plutonium

  1. Home
  2. Launcher Support
  3. [Linux/Windows] Server updater

[Linux/Windows] Server updater

Scheduled Pinned Locked Moved Launcher Support
9 Posts 4 Posters 2.5k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • mxveundefined Offline
    mxveundefined Offline
    mxve VIP
    wrote on last edited by mxve
    #1

    GitHub

    Plutonium Updater CLI alt text alt text

    Features

    • Multi-platform
    • Option to automatically create backups

    Usage

    • Download the latest release
      • Linux
        • https://github.com/mxve/plutonium-updater.rs/releases/latest/download/plutonium-updater-x86_64-unknown-linux-gnu.tar.gz
      • Windows
        • https://github.com/mxve/plutonium-updater.rs/releases/latest/download/plutonium-updater-x86_64-pc-windows-msvc.zip
      • MacOS (untested)
        • https://github.com/mxve/plutonium-updater.rs/releases/latest/download/plutonium-updater-x86_64-apple-darwin.tar.gz
    • Unpack archive
    • Run it
      • Preferably from a terminal so you can see the output and append the arguments listed below, if needed.
      • Linux
        • Unpack
          • tar xfv plutonium-updater-x86_64-unknown-linux-gnu.tar.gz
        • Make binary executable
          • chmod +x plutonium-updater
        • Run it
          • ./plutonium-updater
      • Windows
        • Unpack
        • Run it

    Examples

    Windows update .bat
    @echo off
    set installDir=C:\your_pluto_directory
    plutonium-updater.exe -d "%installDir%"
    
    Linux update .sh
    #!/bin/bash
    INSTALLDIR=/home/pluto/pluto_dir
    ./plutonium-updater -d "$INSTALLDIR"
    
    Repair files
    ./plutonium-updater.exe -f
    

    or

    ./plutonium-updater.exe -fd "pluto directory"
    

    Arguments

    • -h, --help
      • Show available arguments
    • -V, --version
      • Print plutonium-updater version
    • -d, --directory <path>
      • Install directory, supports relative and absolute paths
      • Default: "plutonium"
    • -f, --force
      • Force file hash re-check even if version matches
    • -l, --launcher
      • Download launcher assets.
    • -q, --quiet
      • Hide file actions (Checked, Skipped, Downloaded)
    • -s, --silent
      • Hide all non-error output
    • -c, --check
      • Compares local version to remote
        • Exit code 0 for up to date
        • Exit code 1 for outdated
    • --version-local
      • Returns local version number, not found/broken = 0
    • --version-cdn
      • Returns latest version number
    • --no-color
      • Disable colors
    • --archive-list | --plutools-list
      • List revisions archived on plutonium-archive.getserve.rs
    • --archive <revision> | --plutools
      • Install revision archived on plutonium-archive.getserve.rs
      • Downgrading is not recommended, use an empty directory instead. If downgrading use -f.
    • --backup
      • Create backup of current version while updating
    • --manual-backup
      • Create/update backup of current version
    • --backup-list
      • List available backups
    • --backup-restore <backup>
      • Restore backed up version
    • --cdn-url
      • Override cdn url
    • -e, --exclude "file|folder
      • Exclude file or folder from update
      • Can be used multiple times
      • Example: -e "games/t6mp.exe" -e "storage"

    Exit codes

    • 0 success
    • 101 error (rust panic)
      (Just fail on everything that differs from 0 if you are scripting it)

    Building

    1. Install the rust toolchain
    2. Clone the repo
    3. Build
      • cargo build --release
    4. (Linux/Optional) Strip binary
      • strip target/release/plutonium-updater
    5. Grab binary from target/release/plutonium-updater(.exe)
    1 Reply Last reply
    8
    • Xerxesundefined Offline
      Xerxesundefined Offline
      Xerxes Plutonium Staff
      wrote on last edited by
      #2

      Nice script,
      this will definitively come in handy for those people that are trying to get Pluto dedicated servers working on headless linux instances and in docker containers.

      1 Reply Last reply
      2
      • Mr. Androidundefined Offline
        Mr. Androidundefined Offline
        Mr. Android Plutonium Admin
        wrote on last edited by Mr. Android
        #3

        Agreed -very nice indeed 🙂

        Edit: We've moved the thread and pinned it.

        1 Reply Last reply
        1
        • mxveundefined Offline
          mxveundefined Offline
          mxve VIP
          wrote on last edited by
          #4

          As I have no life I've started work on a rewrite in rust, which drastically improves speed and also allows the updater to run on windows.

          https://github.com/mxve/plutonium-updater.rs

          1 Reply Last reply
          1
          • mxveundefined Offline
            mxveundefined Offline
            mxve VIP
            wrote on last edited by mxve
            #5

            Thread updated for the rust updater, which is not only way faster but also runs on Linux and Windows.

            The original bash script will still be available on GitHub.

            1 Reply Last reply
            1
            • Fryundefined Offline
              Fryundefined Offline
              Fry Plutonium Staff
              wrote on last edited by Fry
              #6
              This post is deleted!
              1 Reply Last reply
              0
              • mxveundefined Offline
                mxveundefined Offline
                mxve VIP
                wrote on last edited by mxve
                #7

                v0.2.0

                9 Feb, 2022
                • Disable colors instead of crashing on error while enabling on windows
                • Print count of processed files after updating
                • Added -c, --check flag
                  • Compares local version to remote
                    • Exit code 0 for up to date
                    • Exit code 1 for outdated
                • Added --no-color flag
                  • Disables colors
                • Minor code cleanup

                v0.2.1

                1 Mar, 2022
                • strip quotes from directory path

                v0.3.0

                13 Mar, 2022
                • Save info.json from cdn to cdn_info.json
                  • Replaces version.txt used previously
                • Added backups (Closes #1)
                  • Before updating a backup will be created
                    • This does not include custom files, only files specified in cdn_info.json are respected
                    • Theres a limit of 3 backups, lowest version number will be deleted first
                  • --backup
                    • Create/update backup of currently installed version
                  • --backup-list
                    • List available backups
                  • --backup-restore <backup>
                    • Restore backup (doesn't delete files that aren't specified in cdn_info.json of the backup)
                  • --no-backup
                    • Don't create backup
                    • Use this on every run if want to opt out of backups

                v0.3.1

                13 Mar, 2022
                • added windows file details
                • added windows icon
                1 Reply Last reply
                0
                • mxveundefined Offline
                  mxveundefined Offline
                  mxve VIP
                  wrote on last edited by mxve
                  #8

                  alt text

                  v0.3.3


                  • Added 🅱️rogressbar
                  • Fixed crash related to awesome-backup-system™ trying to push non-u16 values into a u16 vec
                  • Minor cleanup
                  1 Reply Last reply
                  1
                  • Hadi77KSAundefined Hadi77KSA referenced this topic on
                  • mxveundefined Offline
                    mxveundefined Offline
                    mxve VIP
                    wrote on last edited by mxve
                    #9

                    Changes since thread was last updated (curr version v0.4.3)

                    • Renamed --backup to --manual-backup
                      • Creates a backup and then exits
                    • Disabled backups by default
                      • Use --backup to enable backup creation while updating
                    • Changed build action to ubuntu-20.04 to lower min. required glibc version
                    • Replaced serde & serde_json with nanoserde
                    • Added --cdn-url to --help and documentation
                    • Added -e/--exclude
                      • -e, --exclude "file|folder
                        • Exclude file or folder from update
                        • Can be used multiple times
                        • Example: -e "games/t6mp.exe" -e "storage"
                    • Renamed --plutools and --plutools-list to --archive and --archive-list
                      • --plutools and --plutools-list still exist as aliases
                    1 Reply Last reply
                    0

                    • Login

                    • Don't have an account? Register

                    • Login or register to search.
                    • First post
                      Last post
                    0
                    • Recent
                    • Tags
                    • Popular
                    • Users
                    • Groups
                    • Donate