All Projects → Libre-Maple → LibreMaple-Client

Libre-Maple / LibreMaple-Client

Licence: AGPL-3.0 License
Made-from-scratch Maplestory game client for LibreMaple, fork of JourneyClient

Programming Languages

C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to LibreMaple-Client

maple-fighters
A small online game similar to MapleStory
Stars: ✭ 42 (+61.54%)
Mutual labels:  maplestory
godothub client
GodotHub Client Class, Multiplayer and network messaging for Godot
Stars: ✭ 16 (-38.46%)
Mutual labels:  client-side
Figura
Primary repo for the Figura Project
Stars: ✭ 217 (+734.62%)
Mutual labels:  client-side
OpenLibreNFC
An app to modify and read memory in the Libre blood glucose monitor.
Stars: ✭ 45 (+73.08%)
Mutual labels:  libre
WebRtcShitBlt
client side WebRTC lib to add an image / watermark on the MediaSource
Stars: ✭ 19 (-26.92%)
Mutual labels:  client-side
AndroidFlask
Image Upload from Android to Python-Based Flask Server
Stars: ✭ 45 (+73.08%)
Mutual labels:  client-side
kafka-cli
A command line client of kafka
Stars: ✭ 15 (-42.31%)
Mutual labels:  client-side
quest optimizer
(fixed in a game update) Quest.wz file optimizer for MapleStory, gets rid of most (if not all) in-game lag.
Stars: ✭ 16 (-38.46%)
Mutual labels:  maplestory
AzureV316
AzureMS v316 KMS, i will update it and rewrite it from scratch later on to get a better understanding about everything.
Stars: ✭ 67 (+157.69%)
Mutual labels:  maplestory
ambi
Ambi lets you execute any function ambidextrously; providing you the ability to execute any function (be it synchronous, asynchronous, returns, callbacks, promises) as if it returned a promise.
Stars: ✭ 13 (-50%)
Mutual labels:  client-side
MSCalculator
Using Maplestory material and reverse Polish algorithm to complete the Android calculator.
Stars: ✭ 14 (-46.15%)
Mutual labels:  maplestory
eczar
Eczar: fonts for Devanagari and Latin
Stars: ✭ 52 (+100%)
Mutual labels:  libre
web
Application web de gestion des congés en ligne
Stars: ✭ 69 (+165.38%)
Mutual labels:  libre
HypnosMusicPlayer
A Lightweight, Clean, and Powerful Music Player and Library.
Stars: ✭ 21 (-19.23%)
Mutual labels:  libre
MapleClientEditTemplate
An increasingly generic and comprehensive MapleStory client editing framework. Written by Erik A (Minimum Delta). Intended to abstract away some of the MapleStory client editing learning curve.
Stars: ✭ 3 (-88.46%)
Mutual labels:  maplestory
tenacity
Tenacity is an easy-to-use, privacy-friendly, FLOSS, cross-platform multi-track audio editor/recorder for Windows, macOS, Linux and other operating systems. Project currently on an indefinite hiatus.
Stars: ✭ 7,231 (+27711.54%)
Mutual labels:  libre
Verdant
An open-source launcher for *Naver Channeling* Korean MapleStory ~ 메이플스토리 네이버 채널링 게임런처
Stars: ✭ 12 (-53.85%)
Mutual labels:  maplestory
HITMers
Management system for Harbin Institute of Technology Museum
Stars: ✭ 70 (+169.23%)
Mutual labels:  client-side
JAW
JAW: A Graph-based Security Analysis Framework for JavaScript and Client-side CSRF
Stars: ✭ 26 (+0%)
Mutual labels:  client-side
prototyped.js
Some common Typescript prototypes
Stars: ✭ 22 (-15.38%)
Mutual labels:  client-side

LibreMaple Client: a fork/continuation of JourneyClient

License C++ standard Discord clang++ version Maplestory version

JourneyClient

JourneyClient is a custom, made-from-scratch game client for Maplestory. JourneyClient is written in C++ and was created by Daniel Allendorf in 2015.

The LibreMaple project aims to make a version of Maplestory that is 100% free and open on both the server and client sides, to preserve the freedom of its users and enable creativity and collaboration around the game. As such, the LibreMaple project takes the JourneyClient as a starting point.

LibreMaple aims to make the client cross-platform (GNU+Linux/macOS/Windows NT/FreeBSD/etc.) as well, so decisions are made with a cross-platform mindset as well as a free software one.

Supported versions

The client is currently compatible with version 83 servers. For the UI file (UI.nx), one from version 154+ should be used.

How to compile/install

Unix-like systems (GNU+Linux, FreeBSD, etc.) (may also work for Unix-like Windows subsystems like Cygwin, MinGW, or WSL)

Dependencies

  • clang (version 5+)
  • cmake (version 3.8+)
  • make (GNU Make version 4+)
  • git
  • wget
  • tar
  • unzip
  • autoconf
  • libtool
  • sh or bash
  • glut / freeglut3, freeglut3-dev (an implementation of GLUT, including development files)
  • libXmu (including the "development" version, if that's separate)
  • libXi (including the "development" version)
  • libgl-dev / libgl1-mesa-dev / libgl / mesa / libGL-devel (implementation of OpenGL with development files)
  • libosmesa-dev / libosmesa / osmesa (skip this if your package manager doesn't have it)
  • xorg / xorg-dev (Xorg development libraries)
  • build-essential (for users of Debian-based distibutions only)

(Note for Solus users: sudo eopkg it -c system.devel)

Most of these dependencies should be available from your package manager (pacman, apt, dnf, zypper, pkg, xbps-install, eopkg, yum, etc.), but for all dependencies listed with a version number, make sure to check that the version your package manager gives you is high enough. If your package manager doesn't have something or doesn't have a high enough version, you may have to install it using instructions from the relevant website or use auxilliary package management (yaourt, PPAs, copr, etc.).

Instructions

$ git clone https://github.com/Libre-Maple/LibreMaple-Client.git
$ git clone https://github.com/NoLifeDev/NoLifeNx.git nlnx

# The next command is probably best replaced by navigating to
# https://sourceforge.net/projects/asio/files/latest/download
# and downloading from there to get the latest stable version of ASIO.
$ wget https://downloads.sourceforge.net/project/asio/asio/1.10.8%20%28Stable%29/asio-1.10.8.tar.bz2
$ mkdir asio
$ tar xf asio-* --strip-components=1 -C asio/
$ rm asio-*

$ git clone https://github.com/glfw/glfw.git

# Again, the following command can be replaced by just going to
# https://sourceforge.net/projects/glew/files/glew
# and downloading the latest version of GLEW.
$ wget https://downloads.sourceforge.net/project/glew/glew/2.1.0/glew-2.1.0.tgz
$ mkdir glew
$ tar xf glew-* --strip-components=1 -C glew/
$ rm glew-*

$ git clone git://git.sv.nongnu.org/freetype/freetype2.git freetype

# www.un4seen.com
$ wget http://www.un4seen.com/files/bass24-linux.zip
$ mkdir bass
$ unzip bass2* -d bass/
$ rm bass2*

$ git clone https://github.com/lz4/lz4.git

$ export CC='/usr/bin/clang'
$ export CXX='/usr/bin/clang++'

$ cd freetype
$ sh autogen.sh
$ ./configure
$ make
$ cd ..

$ cd glew
$ make
$ cd ..

$ cd glfw
$ mkdir build
$ cd build
$ cmake ..
$ make
$ cd ../..

$ cd lz4
$ make
$ cd ..

$ cd LibreMaple-Client
$ mkdir build
$ cd build
$ cmake ..
$ make

If all this is successful, you should have the executable in your current directory (LibreMaple-Client/build).

Windows NT (Windows 7, 8, 10+)

Coming soon...

Dependencies

Coming soon...

Instructions

Coming soon...

Compiler

LibreMaple is built against the latest version of Clang (5.0.X as of this writing), again for cross-platform considerations and efficiency. The GCC is another excellent choice, especially for those on Unix-like operating systems, but it is not officially supported by LibreMaple.

That being said, don't be shy to file issues involving GCC or to make PRs to improve ease of use/compatibility with it.

C++ details

JourneyClient was originally developed under the C++14 standard. However, LibreMaple strictly uses the C++17 standard and makes use of C++17 features.

In addition, this project follows the ISO C++ Core Guidelines, so any code that does not comply with said guidelines can be considered a bug, unless of course the transgression has been justified and thoroughly commented. A complete copy of the guidelines is available here.

Configuration

The build can be configured by editing the Journey.h file. The following options are available:

  • JOURNEY_USE_CRYPTO : Use cryptography when communicating for the server.
  • JOURNEY_USE_XXHASH : Use xxhash for file check (additional dependency)
  • JOURNEY_USE_ASIO : Use Asio for networking (additional dependency)

LibreMaple uses crypto (JOURNEY_USE_CRYPTO), as well as ASIO (JOURNEY_USE_ASIO) to maintain cross-platform compatibility.

Dependencies

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].