Hi! Welcome to the forum for Platinum Arts Sandbox Free 3D Game Maker. I currently have the forums locked as I am attempting to properly update them.

In the meantime please join the new Discord Server!

If you have any questions please e-mail me through the Platinum Arts website.

Call for Testing: PAS on Debian and Ubuntu

Talk about anything related to Platinum Arts Sandbox here!
Locked
maqifrnswa
Member
Member
Posts: 11
Joined: October 20th, 2009, 8:05 pm
Name: Scott

Call for Testing: PAS on Debian and Ubuntu

Post by maqifrnswa »

[EDITED on March 7, 2010 for version 2.5+dfsg-3]
Platinum Arts Sandbox is now easier than ever to install in Linux! It has been accepted into the contrib repository of Debian and will be included in version 10.10 of Ubuntu.

It is available on nearly all platforms (amd64, i386 and many others . . . including Playstation 3!)


We currently need people to test out the package to help fix bugs and
make sure it is properly functional.

To install in Debian (unstable/testing):
1) Make sure you have the contrib repository enabled. The newest package is currently in Debian unstable. Around March 17, 2010, it will migrate to testing (squeeze). If you are using the testing distribution, you either should use apt pinning or wait until March 17 to test.
2) to install:

Code: Select all

apt-get install sandboxgamemaker
or through synaptic choose "sandboxgamemaker"
3) During installation it should ask you if you want to download the game content. You can choose yes, and it will download. If you don't (or it doesn't ask you) you can download it later by running the following in the terminal:

Code: Select all

dpkg-reconfigure sandboxgamemaker
This will copy all the packages to /usr/share/sandboxgamemaker
4) you're done! To use, go to "Applications -> Games -> Sandbox Game Maker (fps)" or whichever game mode you'd like. Alternatively you can use the command line:

Code: Select all

sandbox_unix_usr -h
or

Code: Select all

man sandbox_unix_usr
to see how to use the command line to start sandbox or sandbox servers.
Your personal files will be in ~/.platinumarts

To install in Ubuntu (LUCID, this is experimental and testing. It will be officially in version 10.10 i.e. lucid+1)
1) Add the launchpad ppa to your apt-sources list

Code: Select all

sudo add-apt-repository ppa:showard314/ppa
sudo apt-get update
2) to install:

Code: Select all

sudo apt-get install sandboxgamemaker
or through synaptic choose "sandboxgamemaker" (in 10.10 it will be available through "Ubuntu Software Center")
3) During installation it should ask you if you want to download the game content. You can choose yes, and it will download. If you don't (or it doesn't ask you) you can download it later by running the following in the terminal:

Code: Select all

sudo dpkg-reconfigure sandboxgamemaker
This will copy all the packages to /usr/share/sandboxgamemaker
4) you're done! To use, go to "Applications -> Games -> Sandbox Game Maker (fps)" or whichever game mode you'd like. Alternatively you can use the command line:

Code: Select all

sandbox_unix_usr -h
or

Code: Select all

man sandbox_unix_usr
to see how to use the command line to start sandbox or sandbox servers.
Your personal files will be in ~/.platinumarts

It installs the fps, rpg, ssp, moviecube clients and the fps and moviecube servers. Please use "reportbug" in Debian to report any problems with the packaging.


information on the Debian package:
http://packages.debian.org/sid/sandboxgamemaker
on the Ubuntu Lucid (10.04) testing package:
https://launchpad.net/~showard314/+archive/ppa
Last edited by maqifrnswa on March 7th, 2010, 3:03 pm, edited 1 time in total.
Hirato
Developer
Developer
Posts: 689
Joined: May 30th, 2009, 1:23 pm
IRC Username: hirato

Re: Call for Testing: PAS on Debian and Ubuntu

Post by Hirato »

firstly, -r executes init.cfg right there and then, so if you want the user's variant to load, that flag must be added after the -q

secondly, are you going to do anything regarding the PAS_Downloader script? that's just anything but user friendly

EDIT
thirdly, the documentation of the command line options, you've placed the examples along with the description on the same line, as is, that's somewhat confusing
This is not a url, clicking it is pointless
maqifrnswa
Member
Member
Posts: 11
Joined: October 20th, 2009, 8:05 pm
Name: Scott

Re: Call for Testing: PAS on Debian and Ubuntu

Post by maqifrnswa »

Hirato, thanks for looking at it!

1) will move the -r after -q

2) The PAS_downloader script is kind of a bodge until we can work out how to legally distribute packages along side the executables. Clause 5 of the LICENSE.txt is really prohibitive for distributing the game content in Ubuntu or Debian, so we have to legally use a script to get the packages from sandboxgamemaker.com. Ideally it will automatically install the executables, launcher, and content (through a sandboxgamemaker-data package) - but right now it's not legally allowed to. Also, to be included in Edubuntu, sandbox will need "free" [1] game content that could be installed independently of the "non-free". That is because Edubuntu will ship Sandbox on their CDs, and some CD distributors charge a nominal fee (like <$5), which would violate CC-BY-SA-NC.

As for user-friendlyness I was trying to make it as hands-off as possible, and thought it was pretty simple (it keeps /usr/share/sandboxgamemaker up to date with a single command and a single user question). I think I can add a check to see if the content is already up to date and avoid a second download, but how else would you want to see it interact with the user?

3) I'll clean up the documentation. You are free to use those man pages for the project if you'd like too. (they're free-licensed, I don't remember which license but probably GPL since that's the default in ubuntu/debian).

thanks again!

[1] http://en.wikipedia.org/wiki/Debian_Fre ... Guidelines

EDIT:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=572097
Hirato
Developer
Developer
Posts: 689
Joined: May 30th, 2009, 1:23 pm
IRC Username: hirato

Re: Call for Testing: PAS on Debian and Ubuntu

Post by Hirato »

I mean more along the lines of automatically executing the script when the package is installed, rather than relying on the user to invoke it manually via a terminal, the latter being the reason I cited usability. (ie, how the non-free flash plugin is handled)
This is not a url, clicking it is pointless
Hirato
Developer
Developer
Posts: 689
Joined: May 30th, 2009, 1:23 pm
IRC Username: hirato

Re: Call for Testing: PAS on Debian and Ubuntu

Post by Hirato »

Code: Select all

#!/bin/bash
# SANDBOX_DIR should refer to the directory in which sandbox is placed.
#SANDBOX_DIR=~/sandbox
#SANDBOX_DIR=.
SANDBOX_DIR=/usr/local/sandbox

SANDBOX_OPTIONS=""
SANDBOX_MODULE="fps"
SANDBOX_HOME="${HOME}/.platinumarts"
SANDBOX_TYPE="client"

while [ $# -ne 0 ]
do
	case $1 in
		"-h"|"-?"|"-help"|"--help")
			echo ""
			echo "Sandbox Linux Launching Script"
			echo "Example: ./sandbox_unix -gssp -t1"
			echo ""
			echo "   Script Arguments"
			echo "  -h|-?|-help|--help	show this help message"
			echo "  -g<string>		set gamemode to <string> (default: fps)"
			echo "				available modes: ssp, fps, rpg, movie"
			echo "  --server		launch dedicated server binary instead"
			echo "  --master		launch a masterserver for server registration"
			echo "				NOTE: compiled masterserver not included"
			echo ""
			echo "   Client Options"
			echo "  -q<string>		use <string> as the home directory (default: ~/.platinumarts)"
			echo "  -k<string>		mounts <string> as a package directory"
			echo "  -r<string>		executes <string> before launching, use instead of arguments such as -t, -a, -h, etc"
			echo "  -t<num>		sets fullscreen to <num>"
			echo "  -d<num>		runs a dedicated server (0), or a listen server (1)"
			echo "  -w<num>		sets window width, height is set to width * 3 / 4 unless also provided"
			echo "  -h<num>		sets window height, width is set to height * 4 / 3 unless also provided"
			echo "  -z<num>		sets depth (z) buffer bits (do not touch)"
			echo "  -b<num>		sets colour bits (usually 32 bit)"
			echo "  -a<num>		sets anti aliasing to <num>"
			echo "  -v<num>		sets vsync to <num> -- -1 for auto"
			echo "  -t<num>		sets fullscreen to <num>"
			echo "  -s<num>		sets stencil buffer bits to <num> (do not touch)"
			echo "  -f<num>		turns of shaders (0), or sets shader precision to <num> - 1 (1-3)"
			echo "  -l<string>		loads map <string> after initialisation"
			echo "  -x<string>		executes script <string> after initialisation"
			echo ""
			echo "  Server Options"
			echo "  NOTE: the dedicated server binary uses initserver.cfg, which overrides the below"
			echo "  -u<num>		sets the upload rate to <num>"
			echo "  -c<num>		sets the maximum amount of clients (max: 127 humans)"
			echo "  -i<string>		sets the server's ip address (use with caution)"
			echo "  -j<num>		sets the port to use for server connections"
			echo "  -m<string>		sets the masterserver's URL to <string>"
			echo "  -q<string>		use <string> as the home directory (default: ~/.platinumarts)"
			echo "  -k<string>		mounts <string> as a package directory"
			echo ""
			echo "Sandbox Script by Kevin \"Hirato Kirata\" Meyer"
			echo "(c) 2008-2010 - zlib/libpng licensed"
			echo ""

			exit 1
		;;
	esac

	tag=$(expr substr "$1" 1 2)
	argument=$(expr substr "$1" 3 1022)

	case $tag in
		"-g")
			SANDBOX_MODULE=$argument
		;;
		"-q")
			SANDBOX_HOME="\"$argument\""
		;;
		"-k"|"-i"|"-m"|"-r"|"-l"|"-x")
			SANDBOX_OPTIONS+=" $tag\"$argument\""

		;;
		"--")
			case $argument in
			"server")
				SANDBOX_TYPE="server"
			;;
			"master")
				SANDBOX_TYPE="master"
			;;
			esac
		;;
		*)
			SANDBOX_OPTIONS+=" $1"
		;;
	esac

	shift
done

case $(uname -m) in
i386|i486|i586|i686)
  MACHINE_BIT=32
  ;;
*)
  MACHINE_BIT=64 #assume 64bit otherwise
  ;;
esac

function failed {
	echo "A problem was encountered, please check which of the following it is."
	echo "1) there's no ${SANDBOX_TYPE} for module ${SANDBOX_MODULE}"
	echo "2) There isn't an available executable for your architecture; $(uname -m)"
	echo "3) the executable was moved"
	echo "install the sdl, sdlimage and sdlmixer DEVELOPMENT libraries and use \"cd src && make install\" to compile a binary"
	echo "NOTE: sandbox is installed in ${SANDBOX_DIR}"
	exit 1
}


cd ${SANDBOX_DIR}
case ${SANDBOX_TYPE} in
	"client")
		if [ -a bin/sandbox_client_${MACHINE_BIT}_${SANDBOX_MODULE} ]
		then
			eval ./bin/sandbox_client_${MACHINE_BIT}_${SANDBOX_MODULE} -q${SANDBOX_HOME} -r ${SANDBOX_OPTIONS}
		else
			failed
		fi
	;;
	"server")
		if [ -a bin/sandbox_server_${MACHINE_BIT}_${SANDBOX_MODULE} ]
		then
			eval ./bin/sandbox_server_${MACHINE_BIT}_${SANDBOX_MODULE}  -q${SANDBOX_HOME} ${SANDBOX_OPTIONS}
		else
			failed
		fi
	;;
	"master")
		if [ -a bin/sandbox_master ]
		then
			eval ./bin/sandbox_master
		else
			failed
		fi
	;;
esac
Source


the above is the updated script we'll be shipping with future versions of sandbox, if the risk seems worth it, it's a big improvement over having 6 separate ones
This is not a url, clicking it is pointless
maqifrnswa
Member
Member
Posts: 11
Joined: October 20th, 2009, 8:05 pm
Name: Scott

Re: Call for Testing: PAS on Debian and Ubuntu

Post by maqifrnswa »

Thanks a lot - that script looks great, I'll switch to that.

The ubuntu package (from the launchpad PPA) automatically installs the game content like flash-plugin-nonfree, I've been wavering back and forth between being convenient for the user (automatic but prompts before downloading content) or having a prompt-less installation (but you have to run the PAS_downloader later). I can put a check in to see if the newest packages are already installed, and if they are not then prompt the user if they'd like to download and install it. I'm afraid of automatic download and install in case someone changed some of the content. Their changes would be overwritten when they upgrade from 2.5 to 2.6, etc.

I'll be busy over the next week or two, but will put up new ubuntu PPA and debian unstable packages with your changes when I get back.
~Scott Howard
Hirato
Developer
Developer
Posts: 689
Joined: May 30th, 2009, 1:23 pm
IRC Username: hirato

Re: Call for Testing: PAS on Debian and Ubuntu

Post by Hirato »

maqifrnswa wrote: I'm afraid of automatic download and install in case someone changed some of the content. Their changes would be overwritten when they upgrade from 2.5 to 2.6, etc.
files in ~/.platinumarts are used in preference to those in the system, so if anything, they should place their custom content there, as it will remain persistent between versions (2.4 and 2.5) and package providers (official, freedeb, PPA, etc).
I'd say you've nothing to fret about
This is not a url, clicking it is pointless
maqifrnswa
Member
Member
Posts: 11
Joined: October 20th, 2009, 8:05 pm
Name: Scott

Re: Call for Testing: PAS on Debian and Ubuntu

Post by maqifrnswa »

Great!

I just uploaded a new version to Debian and my launchpad PPA. I'll update the installation instructions.

- I use the new launcher script you provided and wrote a man page for it
- When installing PAS the first time, a pretty window (GNOME/KDE/or terminal depending on how you install it) will pop up asking if you want to download content from the internet. If you choose yes, it will download the new content and install it. It will also remember your choice so that it will automatically keep your content up to date without prompting you when upgrading.
- a bunch of build script improvements

The debian version is in the same place (unstable for 10 more days then moving to testing).
The ubuntu launchpad ppa is the same place, but will only be available on lucid (using some new features from the next version). Lucid is closed for new packages, so it will show up in the "Ubuntu Software Center" and be available for apt-get in Ubuntu 10.10.
Locked