Go to file
ice_iix 58ea3442b8 Add FreeBSD support. Closes https://github.com/iceiix/steven/issues/29 2018-11-20 08:30:19 -08:00
blocks Disable three stylistic Clippy warnings, var names/params, never loop 2018-11-04 15:01:44 -08:00
gl Remove unnecessary 'extern crate's in Rust 2018 edition, import macros 2018-11-04 12:39:23 -08:00
resources Update Cargo.tomls to Rust edition 2018, fix crate imports. Closes #13 2018-11-04 12:15:34 -08:00
shared Use field init shorthand, instead of x:x, just x, 2018-11-04 13:43:30 -08:00
src Revert "Change multisampling count to 0, improved fix/workaround for AMD GPUs (#26)" 2018-11-19 17:44:06 -08:00
.gitignore Update to Minecraft 1.11 (Fixes #63) 2016-12-09 14:32:02 +00:00
.travis.yml Remove use of OpenSSL for RSA PKCS1 encryption (#12). Closes #2 2018-11-04 09:40:51 -08:00
Cargo.lock Update to rsa_public_encrypt_pkcs1 0.2.0 2018-11-05 17:17:02 -08:00
Cargo.toml Update to rsa_public_encrypt_pkcs1 0.2.0 2018-11-05 17:17:02 -08:00
LICENSE-APACHE Duel license under MIT and ApacheV2 2016-03-26 17:34:47 +00:00
LICENSE-MIT Duel license under MIT and ApacheV2 2016-03-26 17:34:47 +00:00
README.md Add FreeBSD support. Closes https://github.com/iceiix/steven/issues/29 2018-11-20 08:30:19 -08:00
appveyor.yml Update to Visual Studio 2017 (#28) 2018-11-20 07:06:31 -08:00

README.md

Steven (Rust)

Build Status

A Minecraft client coded in Rust. Ported from steven-go. Don't expect it to go anywhere, just doing this for fun.

Images

Steven on Hypixel Steven

In action: http://gfycat.com/NeedyElaborateGypsymoth

Chat

I generally am on the irc.spi.gt irc network in the #think channel. Feel free to pop in to say hi, Webchat can be found here

Downloads

Windows users can download pre-compiled builds from here: https://ci.appveyor.com/project/iceiix/steven (Select your platform, Click the artifacts tab and download Steven.zip)

The Visual Studio 2017 Redistributable is required to run these builds.

Building

Currently requires SDL2, and beta or nightly Rust to build.

Compile and run:

cargo run --release

Just compile:

cargo build --release

If you get an error such as:

  = note: ld: library not found for -lSDL2                                                                                                                                                                                                   
          clang: error: linker command failed with exit code 1 (use -v to see invocation)     

then you need to install the prerequisites, see below:

Prerequisites

Compiling steven requires Rust beta and SDL2. Instructions for setting up SDL2 is platform-specific and will be covered as such outside of this section.

An easy way to manage multiple Rust toolchains is rustup. Installation instructions for rustup can be found on its website.

Once you've set up rustup, grab Rust beta by running

rustup install beta

Now we need to make sure that steven is compiled with beta. To do this without making beta the default across the entire system, run the following command in the steven directory:

rustup override set beta

Installing dependencies on Linux

Install SDL2 (with headers) via your distro's package manager. Packages with headers generally end with -dev. For example on Debian-based systems such as Ubuntu Linux:

apt-get install -y libsdl2-dev libsdl2-mixer-dev gcc libegl1-mesa-dev libgles2-mesa-dev

Installing dependencies on FreeBSD

Install the SDL2 packages and configure the library path to find them:

pkg install sdl2 sdl2_gfx sdl2_image sdl2_mixer sdl2_net sdl2_ttf
export LIBRARY_PATH=/usr/local/lib

Installing dependencies on OS X

Installing them is easiest with Homebrew. To install SDL2 issue this command:

brew install sdl2

Installing dependencies on Windows

Install Visual Studio 2017 with the Visual C++ option. May build with other compilers, but not tested (previously was built with MinGW and the GNU toolchain).

Download SDL2-devel-2.0.4-VC.zip, extract and copy SDL2-2.0.4\lib\x64\SDL2.lib to .multirust\toolchains\beta-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\SDL2.lib and SDL2-2.0.4\lib\x64\SDL2.dll to target\release.

Running

Standalone

Just running steven via a double click (Windows) or ./steven (everything else) will bring up a login screen followed by a server list which you can select a server from.