Giter Club home page Giter Club logo

miners's Introduction

Charge

Charge game engine, but better know as Charged Miners a Classic Minecraft Client.

image

Getting started

Dependencies

In order to run Charge you need to install the following libraries: SDL, OpenAL and OpenGL. A D1 compiler is needed to build Charge but should you have have downloaded prebuilt binaries this is not needed (see below on which). It is not needed to install the development version of the libraries (other then libphobos if you are building Charge of course, but this should come with the D1 compiler). Note again a D1 compiler is needed, for Ubuntu this package is called gdc-v1.

Linux

For Ubuntu you can use this command:

$ sudo apt-get install libsdl1.2debian libopenal1

For Fedora you can do this with:

$ sudo yum install SDL openal-soft

Mac

On Mac you will need to download and install the SDL framework somewhere where it will be picked up when you run the application. If you have downloaded the release app you can just copy the Charge binary into the app folder and it will use the shipped SDL.framework from within that app. Alternatively you can use homebrew:

$ brew install sdl

Graphics Drivers

Make sure you have the latest graphics drivers installed, known bad are:

  • NVIDIA 195.36.31 on debian
  • Mesa 7.9 and below

D Compiler

Both GDC and DMD can compile Charge. Since LDC does not support Phobos which Charge uses (minimally, tangobos might be able to support it, any patches that improves tangobos support is sought).

Linux

For Linux's with GDC packaged (like Ubuntu) it is the recommended compiler. To get GDC on Ubuntu do this:

$ sudo apt-get install gdc

For DMD known working are DMD 1.062 and above, please note that as of DMD 1.064 you need to remove the -L--export-dynamic flag from dmd.conf or you will get crashes inside of C libraries (this will be fixed in Charge instead soon). To setup DMD just follow the Mac instructions.

Mac

There are no packages of GDC for Mac so DMD should be used. Only DMD 1.069 and above works as Charge depends on bugfixes in that version to work. To install it just excract the contents of dmd.1.<version>.zip <somewhere> and set the DMD enviromental variable to be "<somewhere>/osx/bin/dmd" or put the folder "<somewhere>/osx/bin" on the path.

Other

For other platforms you need probably need to compile it you can get the latest version from here https://bitbucket.org/goshawk/gdc/wiki/Home Cross compiling on Linux to Windows is confirmed working.

Building

Now you just need to build Charge, to do so type:

$ make

Running

$ make run

Contributing

Please feel free to contribute. Contributing is easy! Just send us your code. Diffs are appreciated, in git format; Github pull requests are excellent. The worst thing that can happen is that we will ignore you.

Things to consider:

  • While Charge has a engine part and a per game part its not strict where things go. There is a time for over engineering and a time to get stuff working. If its to mess put in a branch and we can hack on it till its all good. Nothing is perfect from the start.
  • Charge is GPLv2. Your contributions will be under that same license. If this isn't acceptable, then your code cannot be merged. This is really the only hard condition.
  • Patches that you want to be committed to the main repository will need to have your signoff (just commit with --signoff and git will add it for you).
  • Have fun and there will be cake! That is all!

image

miners's People

Contributors

grddev avatar masterofjokers avatar mstefarov avatar squiddy avatar stenlarsson avatar tobix avatar wallbraker avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

miners's Issues

Client doesn't show some skins

The client sees some custom skins, but I've never seen Steve skins with the client. I mostly see skins that are all white. I think the client doesn't see the skin and just uses nothing as a skin. I think it sees custom ones though.

Transparent Water

Move the water into its own rendering phase and to enable it to be transparent.

Proper Signs

Since a Sign is draw with a different texture we have two options:

Create a separate mesh for each Chunk with just signs in them,
we do the transform at build time and use the same matrix as the chunk.

Each sign is a separate gfx actor, this probably will be to slow for normal
usage since minecraft levels can have a lot of signs.

Optimize Rendering

Store chunk meshes into a better data structure then just a list.
Sort the result with distance from the camera to help with overdraw.

Investigate the cost for:
Creating a alternative mesh for shadows that is simpler (only has full blocks no "holes").

No walk mode

You can't walk in this client. I have tried to find a walk mode and I haven't. Some classic servers don't allow hacks and I get kicked because I don't know how to turn them off. There needs to be a way to toggle the hacks on and off. There also has to be a walk mode.

Add support for ClassiCube.net sign-in, server list parsing, and play page parsing.

Sign-in procedure:

  • GET http://www.classicube.net/acc/login
  • Store cookies and value of csrf_token hidden input field.
  • POST to http://www.classicube.net/acc/login.
    • Request string: csrf_token=STORED_TOKEN&username=USERNAME&password=PASSWORD
    • If session should be remembered (assuming cookies are persisted), add &remember_me=y
  • Retrieve response
    • If login failed, returned page will contain string Login failed.
    • If login succeeded, it will contain string <a href="/acc" class="button">USERNAME</a>

Server list URL: http://www.classicube.net/server/list

Server list format (excerpt):

    <table id="servers">

        <tr class="server">
            <td>
                <strong><a href="/server/play/SERVER_HASH">SERVER_NAME</a></strong>

                <div style="display:none;">
                    <small><strong><a href="/server/play/SERVER_HASH">Play</a></strong> | <strong><a href="/server/play/SERVER_HASH?fullscreen=true">Fullscreen</a></strong> | <strong><a href="mc://SERVER_IP:SERVER_PORT/USERNAME/SERVER_MPPASS">Direct</a></strong></small>
                </div>
                <noscript>
                <div>
                    <small><strong><a href="/server/play/SERVER_HASH">Play</a></strong> | <strong><a href="/server/play/SERVER_HASH?fullscreen=true">Fullscreen</a></strong> | <strong><a href="mc://SERVER_IP:SERVER_PORT/USERNAME/SERVER_MPPASS">Direct</a></strong></small>
                </div>
                </noscript>

            </td>
            <td class="players">[SERVER_PLAYERS/SERVER_CAPACITY]</td>
        </tr>

    </table>

Play page URL: http://www.classicube.net/server/play/SERVER_HASH

Play page format (excerpt):

                    <param name="mppass" value="SERVER_MPPASS">
                    <param name="username" value="USERNAME">
                    <param name="server" value="SERVER_IP">
                    <param name="port" value="SERVER_PORT">

Closes when trying to join Server

After it's done loading a server the client closes. If I keep trying to join it, it does the same thing.

Laptop specs:
Java 7
Windows 7
64 bit operating system
RAM 4.0 GB
Dual Core Processor 2.60 GHz

Where do I download OpenGL, OpenAL, and SDL? What do I do with them?

Old OpenGL causes silent failure

-- Wootalyzer here

I've had several reports of mysterious aborts when launching Miners, and almost all of them are caused by the OpenGL 2.1 requirement. Perhaps there should be some sort of message box error, rather than only dumping to the log?

Client No Longer Logs In

Whenever I try logging into the client, I get "Could not understand minecraft.net response." and I've tried redownloading a newer launcher version too. My username and password are correct. I'm running Windows 8 Pro x64.

At first i thought it was because minecraft.net is down, but I can log in to other clients just fine, like WoM and the regular Minecraft launcher.

Charged-Miners_Launcher_1 12_2012-12-19_00-56-54

Login form not accepting modified links

I need to add ?override=true onto my servers link since it's local. The launcher doesn't like modified links and I can't use this client.

I would love to be able to test it out and provide feedback

D2

I saw a handful of commits that had something to do with D2. I'm currently trying to get Charge to compile using Dmd 2.066. How important is a D2 port?

Options Menu

Some settings:
Shadows
Screen Size
Rendering Distance

Microsoft Accounts not supported

After migrating your account to Microsoft services, you can no longer sign in. Adding Microsoft account support, or even Classicube, if you're feeling feisty, would be amazing.

Allow alternative skin servers

Please allow "hostname" and "url" fields in SkinDownloader (Miners\src\miners\skin.d) to be overridable by config or command-line parameters. Motivation:

  1. Compatibility with ClassiCube
  2. In case Minecraft skin URL changes again (e.g. as it did from minecraft.net to S3)

Ideally, arbitrary hostname/url should be specified. If that's not possible, at least add an option to use hostname/url for ClassiCube:

hostname: www.classicube.net
url: /skins/%s.png

lava and water.

Please modified to run faster movement speed of in lava and water.

src/charge/net/threaded.d:15: Error: module thread is in file 'std/thread.d' which cannot be read

I get an error when I try to build:

pierre@Rudloff:~/Bureau/Miners$ make
  DMD    src/charge/net/threaded.d
src/charge/net/threaded.d:15: Error: module thread is in file 'std/thread.d' which cannot be read
import path[0] = /usr/include/d2/4.6/x86_64-linux-gnu
import path[1] = /usr/include/d2/4.6
import path[2] = /home/pierre/Bureau/Miners/src
make: *** [.obj/linux-x86_64/charge/net/threaded.o] Erreur 1

But I do have this file:

pierre@Rudloff:~/Bureau/Miners$ locate std/thread.d
/usr/include/d/4.4/std/thread.d

Charge.i386.exe error

Hi, when I sign in Charged Miners, Charge.i386.exe error occurs. And How do I become available?
Server list acquisition is broken?

LoadModernTexture: Could not extract terrain.png from minecraft.jar because:
LoadModernTexture: std.zip.ZipException ZipException: could not find compressed file
LoadClassicTexture: Using a modified modern terrain.png for classic terrain.

Windows Vista 32-bit, Geforce GTX285 Driver 314.22

Joypad support

I think dual axis controller (360 pad etc) for travelling around the world, with some run buttons and things would be neat.

Swimming in water is slower

When you swim in the water, it is slower than minecraft.net or WoM. It should be sped up to match minecraft.net.

some issues that should be fixed its been 3 months so i thought id share this

when i log in it says {could not find start of table} just like that with out the { } and when i go to resume it says {unable to connect to socket} i hit ok and it brings up this menu

ion
random
classic
beta

the first one doesnt work the second one takes you to the same place as beta third one takes you to an empty world you can build by your self with no commands and cant be saved

please dont take this as gripping or nagging or anything like that i love charged miners and would love to see it working again i know there are thousands of people who want to see it up again =)

UI Scale

Increasing or decreasing the size of chat should probably be an option, if only in settings.ini.

Portable mode

Many users store their minecraft installs on network shares, thumbdrives, or dropbox instances. If there was some way to indicate to Charged that the settings were stored in the application directory, rather than AppData, this would relieve the need to re-configure the client on every machine the game is launched on.

Charged Miners Stopped Working

After the latest update, Charged Miners would connect to a server and then before appearing on the server (loaded 75-100%) It would close.

Update readme for OS X

Under OS X, you can install the needed libraries using homebrew (which has superseded fink and macports)...
$ brew install sdl sdl_ttf sdl_image
...would get you going I imagine, although I have yet to test if it links in properly.

Please Someone Update this for Classicube!

Whoever is willing to take the current code and add Classicube and server based block compatibility, PLEASE DO! I really want to play this client or at least add single player support. I am begging anyone who sees this post to either add single player or Classicube server support. Doing both would be amazing too!

Simple text rendering

Import SDL_picofont instead of full SDL_ttf and hock it up to get simple text rendering.

Double-Jump

A feature from WOM, double jump makes jumping over typical two-block user-created walls easier, without the need to toggle fly mode for such a short ascend.

Block color mix (aka Biome support)

Make it possible to mix a color inside the mesh with the block texture.
This is needed for Biome and also redstone wires.
A bonus would be to add this to water as well since Biome water is just so cool.

Can't climb water in walk mode

If you try to go up in water you will just fall back down. If you are trying to swim in water you will fall straight to the ground. You have to walk or fly around in the water to get around.

White blocks in Minecraft Classic

Hey guys, I get this when I go into a server:

http://www.bilder-hochladen.net/files/big/ilyj-73-621b.jpg

I run a german windows, would that affect anything? I have tried putting a custom texture.png into %APPDATA%/charge...

Unmodded minecraft.jar.

Log:

Logger: Opened log
Game: PLAY_SESSION=
Core: Settings loaded: C:\Users\Jan\AppData\Roaming/charge/settings.ini
Core: ODE not found, this not an error.
Core: OpenAL not found, this not an error.
Core: ALUT not found, this is not an error.

CoreSDL: w: 800 h: 600 CoreSDL: Intel CoreSDL: 3.1.0 - Build 8.15.10.2696 CoreSDL: Intel(R) HD Graphics 3000 CoreSDL: No joysticks found Texture: Loaded res/font.png ColorTexture: created charge/gfx/texture/color000000ff ColorTexture: created charge/gfx/texture/colorffffffff Game: Found terrain.png please ignore above warnings DoubleTarget: Double target supported (33191) FixedRenderer: Can run fixed renderer. ForwardRenderer: Can run forward renderer. MinecraftForwardRenderer: Can run Miners forward renderer. DeferredRenderer: Is not cabable of running deferred renderer!
DeferredRenderer: GL_EXT_geometry_shader4 not supported ShaderMaker: program (vert/frag) status: ok! No errors. ShaderMaker: program (vert/frag) status: ok! No errors. ShaderMaker: fragment status: bad! ERROR: 0:3: '' : extension 'GL_EXT_texture_array' is not supported ShaderMaker: program (vert/frag) status: bad! ShaderMaker: program (vert/frag) status: ok! No errors. TextureArray: Loaded mc/terrain?array TextureArray: Loaded mc/classicTerrain?array FiniteTerrain: Created (128x128x128) Core: Settings saved: C:\Users\Jan\AppData\Roaming/charge/settings.ini

Gravity Value Tweaking

Compared to WoM and the native mc.net client, it seems that the affect of gravity is quite high in Charged. Perhaps a gravity can be imported from a settings.ini value for further tweaking.

console minimizes and kills after login

when i try and log in i type my username and pass click sign in and it goes to bring up the server list but instead it opens the border of the server list and suddenly the console disapears it does it everytime i try

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.