[Linux/Windows] Server updater

Topic created ยท 7 Posts ยท 780 Views
  • alt text
    alt text

    GitHub

    Plutonium Updater CLI

    Stop uploading, start downloading

    (So catchy!)

    Features

    • Multi-platform
    • Version checking
    • File hash checking
    • Automatic version backups/restoring
      • last 3 versions
      • Doesn't include custom content (scripts, usermaps..)

    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.exe -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
    • --no-color
      • Disable colors
    • --no-backup
      • Don't create backup
    • --backup
      • Create/update backup of current version
    • --backup-list
      • List available backups
    • --backup-restore <backup>
      • Restore backed up version

    Exit codes

    • 0 success
    • 101 error (rust panic)
      (Just fail on everything that differs from 0 if you are scripting it)
  • 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.

  • Agreed -very nice indeed ๐Ÿ™‚

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

  • 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

  • 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.

  • This post is deleted!
  • 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
Log in to reply