Create an account


Thread Rating:
  • 3 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Automatic updates for autobuilds

#1
Information 
I think most of you know about the autobuild server which releases a new daily build of the master branch.

Now there is also a rsync based updater for it! That way, you can use these autobuilds instead of git (assuming you want to do no changes to the game).

Get the downloader at

http://rm.sudo.rm-f.org/~xonotic/xonotic...loader.zip

The included updater script downloads the latest autobuild, or updates the current install to the current version on the autobuild server using way less bandwidth than a full redownload. It's meant for players, NOT developers. Beware: ANY CHANGES YOU DID IN THE DOWNLOADED XONOTIC DIR WILL BE OVERWRITTEN ON NEXT UPDATE.

Of course: on Windows, use the .bat file, on Linux or OS X, use the .sh file.

Please report operating system, version, and whether it worked (and if not, what issues it has). We may want to release that to the "mere players", too.
BRLOGENSHFEGLE (core dumped)

The Bot Orchestra is back! | Xoylent Easter Egg | 5bots1piano
My music on Google Play and SoundCloud
Reply

#2
works for me! Windows Vista (Xonotic-high)
MY NOOB STATS:
[Image: 788.png]
Reply

#3
Great. Please check if it tomorrow updates fast.

BTW, does the cmd window stay open or close when done?
BRLOGENSHFEGLE (core dumped)

The Bot Orchestra is back! | Xoylent Easter Egg | 5bots1piano
My music on Google Play and SoundCloud
Reply

#4
cmd window was closed!
MY NOOB STATS:
[Image: 788.png]
Reply

#5
Okay, I updated the zip file with a version that does not close at the end.
BRLOGENSHFEGLE (core dumped)

The Bot Orchestra is back! | Xoylent Easter Egg | 5bots1piano
My music on Google Play and SoundCloud
Reply

#6
Downloaded the high quality version using this script, though for whatever reason there's no weapon swaying and the lightmaps seem to flicker like mad, as if my eyes are being scorched. UI mouse speed option is also missing...
ECKZBAWKZ HUGE LIST OF ACHIEVEMENTS GOES HERE....


Oh wait.
Reply

#7
UI mouse speed option is indeed gone, it now uses the OS's settings. That way, windowed mode behaves much better.

As for weapon swaying, a solution is currently being worked on.

As for the lightmaps issue - no idea. Since when? Can you try the older autobuilds on http://beta.xonotic.org/autobuild/ (user xonotic, pass g-23)?
BRLOGENSHFEGLE (core dumped)

The Bot Orchestra is back! | Xoylent Easter Egg | 5bots1piano
My music on Google Play and SoundCloud
Reply

#8
Weird issues with the lightmaps. The effect was actually crazy enough to be partially captured in this screenshot. Basically it rips and flickers like mad AND leaves trails (even if motion blur is disabled). I'm going to do a new config file from scratch to see if that fixes it. I don't have this issue in the balance test build that was release a while ago.

[Image: su1laxazkc7jpn1ql0i4_thumb.jpg]
ECKZBAWKZ HUGE LIST OF ACHIEVEMENTS GOES HERE....


Oh wait.
Reply

#9
Downloading the high-qualtiy version via the script right now. I'll update as soon it's completed. (Windows 7 Ultimate 64bit)


Update:

It's running flawlessly. Great work. Smile
Reply

#10
nice initiative divVerent.
This could help to make the game more accessible.

(just updated under Windows Vista. Worked perfectly. Downloaded at more than 1 MB/s)
Fat.bot.Slim
Reply

#11
Thank you divVerent that it is the solution to my GIT xono compilation problem, I dwnlded the hight resolution and it works nice. Good job.
Reply

#12
OK, ditched the old config file and tweaked the game again, now all of the problems I was having are gone. For some reason it seems to run better than the balance test build, either I tweaked something I shouldn't in my previous config file, or something got optimized, or both. The lowest I've seen this drop was to 58fps (which is what I have cl_minfps set to). The only real issue I have with this from a gameplay perspective is the hagar's secondary, it kinda sucks I have to be honest, though the crylink secondary already fills it's previous role so I don't know what could be done about it right now. The physics right now seem perfect and bring back some memories of 2.4 minus everything that sucked about it's movement.
ECKZBAWKZ HUGE LIST OF ACHIEVEMENTS GOES HERE....


Oh wait.
Reply

#13
Seems to work just fine on my 32-bit Windows 7. It's a lot less disk space intensive, as it does not include the full source code or an MSYS distribution. Smile

Are the rsync builds just as up to date as the latest Git checkout, or do they lag behind?
Reply

#14
The rsync builds lag behind by up to one day; basically, every morning a build runs. Should be good enough.

BTW: the full source code still IS included Tongue
BRLOGENSHFEGLE (core dumped)

The Bot Orchestra is back! | Xoylent Easter Egg | 5bots1piano
My music on Google Play and SoundCloud
Reply

#15
(06-13-2011, 07:20 AM)divVerent Wrote: The rsync builds lag behind by up to one day; basically, every morning a build runs. Should be good enough.

BTW: the full source code still IS included Tongue

Whoops, you're right! Sorry about that. Then all the better! Smile
Reply

#16
The updater isn't working for me each time I type in the command in terminal, it says: -bash: ./xonotic-update.sh: No such file or directory
Can someone tell me what I am doing wrong?
Reply

#17
(06-21-2011, 07:11 AM)unicornsteak Wrote: The updater isn't working for me each time I type in the command in terminal, it says: -bash: ./xonotic-update.sh: No such file or directory
Can someone tell me what I am doing wrong?

Did you change to that directory where xonotic-update.sh is?

Code:
cd /path/where/your/directory/is
sh xonotic-update.sh
Reply

#18
Shouldn't this be made sticky, really? I think this is/should be the main access to Xonotic for everyone that is not using git until 0.2 is released, as the 0.1 preview is far too outdated, even though the builds may not always be stable (but who'd honestly expect a 0.1autobuild release to be stable in the first place).

Whenever setting up a new PC I find myself searching for this post :o)

Oh, I just reread that divVerent may need more feedback on where this works before releasing this to the "mere players".

I tested it on Ubuntu 11.04 - worked flawlessly. Note that you need to install curl if you want to automatically download maps, if you haven't done so already:
Code:
sudo apt-get install curl

I'll add more testing environments once I managed to test them.

Edit: works on MacOS 10.6.8 too.
Edit: works on Win7 too.
[Image: 249.png] Latest track on soundcloud: For You (piano improvisation)
New to Xonotic? Check out my Newbie Corner!
<ZeRoQL> i think i got 1 proper quad and that cunt halogen fuck me over with a laser
Reply

#19
I totally agree with you and thanks for the hint! I´ll get a new harddisk the next days and I´ll also put Ubuntu 11.04 on it to play games like Xonotic and get rid of the crappy Windows (sorry for all the Windows fans there! Tongue).
Reply

#20
please report that it works then too :o)
[Image: 249.png] Latest track on soundcloud: For You (piano improvisation)
New to Xonotic? Check out my Newbie Corner!
<ZeRoQL> i think i got 1 proper quad and that cunt halogen fuck me over with a laser
Reply

#21
Will do. Smile Nevertheless I already installed Xonotic on my laptop which has Ubuntu 10.10 as OS and it works fine. But I can´t really play because my laptop is damn slow (1.7GHz CPU, integrated graphic card, ...). Tongue
Reply

#22
Ok, after hours and hours of work I finally got Ubuntu 11.04 installed and also got Xonotic. Works perfectly, even better than on Windows XP I think. Although I have to start the sdl because I have no sound in glx. By the way: Where´s the difference between those two files?
Reply

#23
Ouuh, triple post! I should use the edit button. Tongue Nevertheless I wanted to tell you that Xonotic autobuild version also works on Gentoo (Gnome).
Reply

#24
I use this on Vista, abd it works perfect! (Well, there are some strange problems, but I caused them myself, I in fact need to redownload everything Tongue
But this thing is grear divVergent, well done!
Reply

#25
Hi there, I hope this is the right spot to post this.
I have taken divVerent's updater and extended it (even beyond it's initial scope).
Now it is more like a full manager. you can choose to update or start the game(or just do both).
It has a very simple cmd argument parser(similar to ./all script syntax) and configurable default values, so that you normally don't need any arguments.
The script can disable compositing before the game starts and re-enable it when the game exits.
The script is able to find it's full path, so just put a symlink into your favorite bin folder or just click it to always run the latest version, no command line any more.
But I'm sorry: Linux/Mac(??, untested; Mac has bash, hasn't it?) only, as windows .bat syntax is just, well, limited...(and i can't code it Wink)
(In case someone is interested, I did something similar for OilRush game[link to forum post])

I license this script under GNU GPL v2 or (at your opinion) any later version.
So feel free to use/adapt any part you like.(BTW: I mostly did copy n paste for the updater part, it almost stayed the same.)
download here, same as [ code ] below

.gz   start_xonotic.sh.tar.gz (Size: 3.12 KB / Downloads: 6)
Code:
#!/bin/bash
## ===user config===

## those 2 settings are default actions which are chosen when the script is called without parameters
## just set them to whatever you find useful; look at the script's function print_help() below for a brief description, the parameters are the same
## possible default actions are "update", "start" and "update_start"
default_action="update_start"
## possible default builds are "sdl" and "glx"
default_build="sdl"

## [GENERALLY UNNEEDED] you do not need to set this! only use this, if you REALLY want to place the script somewhere else than the folder abve the Xonotic/Xonotic-high/Xonotic-low autobuild folder
## or if the autodetection fails (this should never happen(tm))
## just don't use it and everything is OK. If you want the script be in your $PATH, you can symlink the script into a bin directory eg. /usr/local/bin or ~/bin
#gamefolder="/usr/local/games/xonotic"
#gamefolder="$HOME/xonotic-autobuild"

## [LARGELY UNTESTED] This feature is still beta / work in progress / largely untested: It may cause system instabilities, data loss, or kills your cat and eats your hamster. You have been warned!
## Detect Window manager and compositing, if enabled
## uncomment the following line to probe for known compositing window managers
## and disable compositing while game is running; if it causes trouble, please post your used distribution, window manager and what exactly happens
#detect_wm_compositing="true"

## ===end of user config===
## ===script functions===

## detects the gamefolder
detect_gamefolder()
{
    gamefolder="${BASH_SOURCE[0]}";
    while  [ -h "${gamefolder}" ]; do
        gamefolder=`readlink "${gamefolder}"`
    done
    pushd . > /dev/null
    cd `dirname ${gamefolder}` > /dev/null
    gamefolder=`pwd`;
    popd  > /dev/null
}

## detects which xonotic version/build is installed
detect_xonotic()
{
if  [ -d "$gamefolder/Xonotic-high" ]; then
    echo "start_xonotic.sh: Xonotic-high found, using that"
    xonotic=high
elif [ -d "$gamefolder/Xonotic" ]; then
    echo "start_xonotic.sh: Xonotic found, using that"
    xonotic=normal
elif [ -d "$gamefolder/Xonotic-low" ]; then
    echo "start_xonotic.sh: Xonotic-low found, using that"
    xonotic=low
else
    echo "start_xonotic.sh: WARNING: nothing game-related found here. For the first start, this is normal."
    xonotic=none
fi
}

## prints help
print_help()
{
echo "start_xonotic.sh: help"
echo "This script is intended to manage your Xonotic autobuild"
echo "usage:"
echo "\"start_xonotic.sh [mode] [binary]\""

echo "First parameter is neccessary for the second one, otherwise both are optional as"
echo "a default behaviour can be specified for both"
echo "mode can be:"
echo "\"start\": just starts the game; the script acts like a simple wrapper to start the game"
echo "\"update\": updates the game to the most recent autobuild; the script just behaves like update-xonotic.sh"
echo "\"update_start\":simply combines \"update\" and \"start\"; you always run the latest version, but it may take a long time until the game starts"
echo "\"help\": you read this help, so you already know this one ;)"
echo ""
echo "[binary] only works with the modes \"start\" and \"update_start\". It can be:"
echo "\"sdl\":starts the SDL binary; In fact, the script just calls xonotic-linux-sdl.sh inside your xonotic build"
echo "\"glx\":starts the GLX binary; Works just like the SDL parameter, but for the GLX binary"
}

## updates the game. works just like update-xonotic.sh
game_update()
{
if ! which rsync >/dev/null; then
    echo >&2 "FATAL: rsync not found, please install the rsync package"
    exit 1
fi

options="-Prtzil --executability --delete-after --delete-excluded --stats"

detect_xonotic
if  [ "$xonotic" = "low" ]; then
    url="rsync://beta.xonotic.org/autobuild-Xonotic-low/"
    target="Xonotic-low/"
elif [ "$xonotic" = "high" ]; then
    url="rsync://beta.xonotic.org/autobuild-Xonotic-high/"
    target="Xonotic-high/"
else
    url="rsync://beta.xonotic.org/autobuild-Xonotic/"
    target="Xonotic/"
fi

unset excludes
excludes="$excludes --exclude=/*.exe"
excludes="$excludes --exclude=/fteqcc/*.exe"
excludes="$excludes --exclude=/bin32"
excludes="$excludes --exclude=/*.dll"
excludes="$excludes --exclude=/bin64"

case `uname`:`uname -m` in
    Darwin:*)
        excludes="$excludes --exclude=/xonotic-linux*"
        excludes="$excludes --exclude=/fteqcc/fteqcc.linux*"
        ;;
    Linux:x86_64)
        excludes="$excludes --exclude=/Xonotic*.app"
        excludes="$excludes --exclude=/xonotic-osx-*"
        excludes="$excludes --exclude=/fteqcc/fteqcc.osx"
        excludes="$excludes --exclude=/xonotic-linux32-*"
        excludes="$excludes --exclude=/fteqcc/fteqcc.linux32"
        ;;
    Linux:i?86)
        excludes="$excludes --exclude=/Xonotic*.app"
        excludes="$excludes --exclude=/xonotic-osx-*"
        excludes="$excludes --exclude=/fteqcc/fteqcc.osx"
        excludes="$excludes --exclude=/xonotic-linux64-*"
        excludes="$excludes --exclude=/fteqcc/fteqcc.linux64"
        ;;
    *)
        echo >&2 "WARNING: Could not detect architecture - downloading all architectures"
        ;;
esac

rsync $options $excludes "$url" "$target"

}

## runs the game
game_run()
{
## detect and disable compositing(optional)
windowmanager="none"
compositing_state="false"
if  [ "$detect_wm_compositing" = "true" ]; then
    echo "start_xonotic.sh: probing for window managers with compositing support..."    
    ## KDE
    if  [ "$(ps -C kwin)" ]; then
        windowmanager="KWin"
        echo "start_xonotic.sh: KDE KWin is running, checking for compositing state"
        if  [ "$(qdbus org.kde.kwin /KWin compositingActive)" = "true" ]; then
            echo "start_xonotic.sh: Compositing state is active, disabling..."
            compositing_state="true"
            qdbus org.kde.kwin /KWin toggleCompositing
         fi
    ## KDE isn't there, so lets probe for metacity: if it is there, the following condition will fail and the next probes will be done
    elif  [  -z "$(ls /usr/bin/metacity)" ]; then
        echo "start_xonotic.sh: Metacity window manager seems not to be present on your system, so it can not be used to replace compositing window managers, skipping..."
    ## Compiz (mostly used with gnome or xfce)
    elif  [ "$(ps -C compiz)" ]; then
        echo "start_xonotic.sh: Compiz is running, so compositing is enabled; replace it with metacity"
        windowmanager="compiz"
        compositing_state="true"
        metacity --replace & > /dev/null
    ## Unity (Ubuntu)
    elif  [ "$(ps -C unity)" ]; then
        echo "start_xonotic.sh: unity is running, so compositing is enabled; replace it with metacity"
        windowmanager="unity"
        compositing_state="true"
        metacity --replace & > /dev/null
    fi
    echo "start_xonotic.sh: let the window manager start; wait 2 seconds..."
    sleep 2
fi


detect_xonotic
if  [ "$xonotic" = "high" ]; then
     cd "Xonotic-high"
elif  [ "$xonotic" = "normal" ]; then
     cd "Xonotic"
elif  [ "$xonotic" = "low" ]; then
     cd "Xonotic-low"
else
    echo "start_xonotic.sh: FATAL: ERROR in script function game_run( )"
    echo "start_xonotic.sh: cannot start the game: game not found"
    echo "start_xonotic.sh: use \"start_xonotic.sh update\" or \"start_xonotic.sh update_start\" to download the game data first"
    exit 1
fi

##start the game
if  [ "$1" = "sdl" ]; then
     ./xonotic-linux-sdl.sh
elif  [ "$1" = "glx" ]; then
     ./xonotic-linux-glx.sh
else
## in case of wrong/no parameter use autodetection through top variable
    if  [ "$default_build" = "sdl" ]; then
        ./xonotic-linux-sdl.sh
    else
        ./xonotic-linux-glx.sh
    fi
fi


##restore compositing state
if  [ "$compositing_state" = "true" ]; then
    echo "start_xonotic.sh: game quit: Compositing was active, restore..."
    if  [ "$windowmanager" = "KWin" ]; then
        echo "start_xonotic.sh: Re-enable KWin compositing"
        qdbus org.kde.kwin /KWin toggleCompositing
     fi
    if  [ "$windowmanager" = "compiz" ]; then
        echo "start_xonotic.sh: Restart Compiz"
        compiz --replace & > /dev/null
    fi
    if  [ "$windowmanager" = "unity" ]; then
        echo "start_xonotic.sh: Restart Unity"
        unity --replace & > /dev/null
    fi
fi
}

## ===end of script functions===

## ===script logic===

## if not set, detect and goto the gamefolder
if  [ -z $gamefolder ]; then
        detect_gamefolder
fi
cd "$gamefolder"
echo "start_xonotic.sh: Xonotic gamefolder is: \"$gamefolder\""


if  [ "$1" ]; then
    case "$1" in
    "start")
        if  [ "$2" = "sdl" ]; then
            echo "start_xonotic.sh: start the game using sdl"
            game_run sdl
        elif  [ "$2" = "glx" ]; then
            echo "start_xonotic.sh: start the game using glx"
            game_run glx
        else
            echo "start_xonotic.sh: ERROR: unknown parameter for gamestart: \"$2\""
            echo "start_xonotic.sh: FALLBACK: start the game using autostart values"
            game_run
        fi
    ;;
    "update")
    echo "start_xonotic.sh: update the game"
    game_update
    ;;
    "update_start")
        echo "start_xonotic.sh: update the game"
        game_update
        if  [ "$2" = "sdl" ]; then
            echo "start_xonotic.sh: start the game using sdl"
            game_run sdl
        elif  [ "$2" = "glx" ]; then
            echo "start_xonotic.sh: start the game using glx"
            game_run glx
        else
            echo "start_xonotic.sh: ERROR: unknown parameter for gamestart: \"$2\""
            echo "start_xonotic.sh: FALLBACK: start the game using autostart values"
            game_run
        fi
    ;;
    "help")
    print_help
    ;;
    *)
    echo "start_xonotic.sh: enter \"start_xonotic.sh help for usage help\""
    ;;
    esac
## check for default action to start
elif [ "$default_action" = "start" ]; then
    echo "start_xonotic.sh: default action triggered: start the game"
    game_run
elif [ "$default_action" = "update" ]; then
     echo "start_xonotic.sh: default action triggered: update the game"
    game_update
elif [ "$default_action" = "update_start" ]; then
    echo "start_xonotic.sh: default action triggered: update the game and then run it"
    game_update
    game_run
else
    echo "start_xonotic.sh: ERROR: I don't know what to do! No parameter entered and no default actions defined!"
    exit 1
fi


## ===end of script logic===
Reply



Possibly Related Threads...
Thread Author Replies Views Last Post
  modpack.sh - automatic pk3 creation for mods tZork 0 2,118 10-20-2011, 08:43 PM
Last Post: tZork
  Planning for major weapon updates Samual 70 54,298 04-19-2011, 11:39 AM
Last Post: theShadow
  Automatic Bot Waypoint System Odin 16 16,788 05-01-2010, 07:06 PM
Last Post: GT_Gene

Forum Jump:


Users browsing this thread:
1 Guest(s)

Forum software by © MyBB original theme © iAndrew 2016, remixed by -z-