Go to file
2021-10-30 22:48:02 +02:00
app Initial project setup. 2021-10-30 22:48:02 +02:00
Mourne-CI Initial project setup. 2021-10-30 22:48:02 +02:00
www Initial project setup. 2021-10-30 22:48:02 +02:00
.clang-format Initial commit. 2021-10-30 19:01:52 +02:00
.gitignore Initial commit. 2021-10-30 19:01:52 +02:00
build.config.example Initial commit. 2021-10-30 19:01:52 +02:00
build.sh Initial commit. 2021-10-30 19:01:52 +02:00
HEADS Updated the engine to the latest. 2021-10-30 22:26:35 +02:00
LICENSE Initial commit. 2021-10-30 19:01:52 +02:00
main.cpp Initial project setup. 2021-10-30 22:48:02 +02:00
migrate.sh Initial commit. 2021-10-30 19:01:52 +02:00
Readme.md Small readme change. 2021-10-30 19:13:15 +02:00
run.sh Initial commit. 2021-10-30 19:01:52 +02:00
SConstruct Initial project setup. 2021-10-30 22:48:02 +02:00

Mourne

An old village builder / hero manager web rpg that I originally wrote using Code Igniter 3 ported to rcpp_framework.

The original code is under the Mourne-CI folder. I wrote this about 9 years ago. I only have the application code in the folder. I decided not to commit the framework code itself to minimize the chance of committing passwords, or stray temp files and such. This was my first bigger app, so even though when I wrote this I did pay attention to make it secure (it's probably not that bad), however it's still probably not a good idea to use it as it is.

This is highly experimental stuff. It probably shouldn't be used by anyone who's sane.

Note: this readme has been taken from an another project of mine, it will be updated later.

Compilation

Will only work on linux! Works on the rasberry pi.

Dependencies

Arch/Manjaro:

pacman -S --needed scons pkgconf gcc yasm 

Debian/Raspian:

sudo apt-get install build-essential scons pkg-config libudev-dev yasm 

Optionally if you install MariaDB/MySQL and/or PostgreSQL the compile system should pick it up. Make sure to get a version whoch contains the development headers (A bunch of .h files).

Initial setup

clone this repo, then call scons, it will clone rcpp cms into a new engine directory. Run this every time you update the project. You don't have to run it before / between builds.

# git clone https://github.com/Relintai/mourne.git mourne
# cd crystal_cms
# scons

Now you can build the project like: scons bl. ([b]uild [l]inux)

Adding -jX to the build command will run the build on that many threads. Like: scons bl -j4.

# scons bl -j4
- or -
# ./build.sh

Now you can run it.

First run migrations, this will create the necessary database tables:

# ./engine/bin/server m
- or -
# ./migrate.sh

Now you can start the server:

# ./engine/bin/server
- or -
# ./run.sh

Make sure to run it from the project's directory, as it needs data files.

Now just open http://127.0.0.1:8080

You can push floats to the "a/b" MQTT topics, and the new values will be save in the database.sqlite file, and will appear in your browser.

Structure

The main Application implementation is app/ic_application.h.

The main.cpp contains the initialization code for the framework.

The content/www folder is the wwwroot.