Code Monkey home page Code Monkey logo

rpgbookonline's Introduction

RpgBookOnline

Cross-platform server for RpgBookOnline, an online role-play editor and game.

Table of contents

The Rbo project

RpgBookOnline or Rbo is the global project to which this server belongs. You can basically make your own classic paper role-play, save it and share it to play online with other players.

Creation design is inspired from the French You Are The Hero Books, where you travel between pages to progress (or sometimes regress) into the adventure.

You can find the Rbo client just here, yet it's still a WIP. The RPGs editor development will begin as soon as the client development will have finished.

For more details about how to play this game, check the wiki.

The server

Install

Prerequisites

You need to get these dependencies to build the project :

sudo apt install libboost-all-dev
sudo apt install libspdlog-dev
sudo apt install nlohmann-json3-dev
sudo apt install liblua5.1-0-dev

You will also need to get sol2, which is not on Ubuntu repositories :

git clone https://github.com/ThePhD/sol2
cd sol2
cmake .
sudo cmake --install .

Steps

  1. Clone this repo with git clone https://github.com/ThisALV/RpgBookOnline

  2. Move to your downloaded repo's root and move into a directory that will create with mkdir build && cd build

  3. Generate CMake project with cmake -DCMAKE_BUILD_TYPE=Release .. (see here for more details)

  4. Build the generated CMake project with cmake --build . -- -jN (replace N by the number of cpu cores to use for the parallel build)

  5. Copy the game/ and instructions/ directories into your build/ directory (so the two folders with be next to your built executable)

  6. Done. You can now check the wiki and play.

Project options

There are few option you can use at installation step 3 to modify the generated CMake project.

  • -DRBO_TESTS_ENABLED which enables building of unit tests executables

  • -DRBO_LOGGING_HEADER_ONLY which enables header-only mode for spdlog, logging library used by this server (Note that some compilers and environments with link-time issues like lld with MinGW might need this option to build the project)

  • -DRBO_REQUIRED_SPDLOG which enables a minimal version check for the logging library (A recent version might be required to have header-only spdlog fix working)

  • -DRBO_STATIC_WINDOWS_LIBRARIES which enables static linking with ws2_32 and wsock32 (Might be necessary if you're building with MinGW, please note that it doesn't actually perform a static-linkage with a part of the WinAPI, here libws2_32 and libwsock32 are more like a pipeline to access dynamically loaded Windows libraries)

Quick and Easy install (For Windows)

Coming soon...

Run

Don't forget that instructions/ and game/ directories contain game information and must be in same folder than your executable, else the RPG will not be loaded.

In a terminal, next to your built executable, syntax is :

./server <ip_version> <port> <preparation_countdown_ms>

Or, for Windows :

server.exe <ip_version> <port> <preparation_countdown_ms>

Parameters are :

  • ip_version for the protocol version, might be ipv4 or ipv6

  • port for the local opened server connection port

  • preparation_countdown_ms for the countdown before preparation when all lobby members are ready

rpgbookonline's People

Contributors

thisalv avatar

Watchers

 avatar

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.