项目作者: nagakawa

项目描述 :
I have a card! I have an MMORPG! Uuuuggghhhh! Card-MMORPG!
高级语言: C++
项目地址: git://github.com/nagakawa/x801.git
创建时间: 2016-12-02T05:49:05Z
项目社区:https://github.com/nagakawa/x801

开源协议:GNU Affero General Public License v3.0

下载


Experiment801

Join our discord!

Thousands of candles can be lit from a single candle, and the life of the
candle will not be shortened. Happiness never decreases by being shared.
~ Wizard101

A customisable MMORPG with Wizard101-like mechanics that anyone can modify or
run a server for.

Building instructions

At this moment, compiling will likely work only on POSIX-based systems.

You also need a --recursive clone of this repository due to the prescence of
submodules. Use this command to get one:

  1. git clone --recursive https://github.com/nagakawa/x801.git

Note about compilers

If you are using g++, then at least use a new version. 7.0.0 is known to work,
but 5.4.0 will not compile the program.

Alternatively, use Clang, which will (as of 3.8.0) successfully compile the
program.

Getting dependencies

Right now the list of dependencies isn’t really set, but the current CMake
files ask for the same libraries as TDR, plus a few other libraries. On Debian
/ Ubuntu, simply run the following command:

  1. sudo apt install libglfw3-dev libglew-dev libsoil-dev libglm-dev \
  2. libcairo2-dev libpango1.0-dev libglib2.0-dev zlib1g-dev libboost-dev \
  3. libsqlite3-dev libboost-filesystem-dev libboost-random-dev \
  4. libasound2-dev libogg-dev libvorbis-dev cmake

and build PortAudio yourself. (Consult the install-dependencies.sh script.)

(Boost.Process is also needed, but since Ubuntu’s repositories don’t have
Boost 1.64.0 yet, it’s prepackaged in the repo for now.)

This project also depends on a custom version of RakNet, but this dependency
is managed by the configuration files so no extra work for you.

In addition, the Python scripts depend on a few packages.

  1. sudo apt install python3-pip
  2. pip3 install numpy simpleeval pyquaternion Pillow

In addition, there are programs used to build assets:

  • XCFTools (xcftools).

(These aren’t needed yet but probably will be in the future:)

  • MuseScore 2.0.2 or later. You can get the package in the official repositories,
    but if you want the most up-to-date version, there’s also a
    PPA.
    Other distributions might have their own ways to get the program.
  • FluidSynth (used to convert .mid files to .wav). The package name is,
    unsurprisingly, fluidsynth.

There is a bug with older versions of Valgrind that will prevent it from running
some tests. Valgrind 3.12.0 should resolve the issue, but you’ll probably have
to build it from source.

Using CMake

To generate the makefile:

  1. cmake . # debug (default)
  2. cmake -DCMAKE_BUILD_TYPE=Release . # release

And to actually build the project:

  1. make

To run tests:

  1. ./test # a shell script that runs make to build the test executable

To start a server:

  1. build/x801 -s 9001

To start the filehost server (also needed):

  1. nodejs gun\?/app.js

This needs to be restarted whenever files are updated.

To start a client:

  1. build/x801 -c localhost 9001

Licence

Copyright (C) 2016 AGC.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program. If not, see http://www.gnu.org/licenses.