Giter VIP home page Giter VIP logo

griefly's Introduction

Griefly

Linux Build Status Windows Build Status Coverage Status Join the chat at https://gitter.im/griefly/griefly

It is Griefly: Yet Another Space Station Remake.

Dependencies

  1. Some C++ compiler (it works at least with compiler from Visual Studio 2012 and g++)
  2. Qt5 (e.g., Desktop Qt 5.4.0 MSVC2012 OpenGL 32bit). Qt Creator is optional, but desired
  3. Python 3.5
  4. Golang 1.5+ (https://golang.org/dl/)
  5. Git
  6. CMake 3.*

How to build everything on Windows

If you have any issues during the build process please report them

It should be possible to build everything without Qt Creator, but the guide assumes that Qt Creator is used.

  1. All tools and libs from the depencies list should be available on your machine. Tools and libs should be present in %PATH%
  2. Open CMakeLists.txt in Qt Creator
    Open Project -> Select CMakeLists.txt -> Select build folder
  3. Run CMake with param -DCMAKE_BUILD_TYPE=Release for Release verison.
  4. Build the project.
    Client executables will appear in the exec folder, and the server executable will appear in the griefly-server folder.
    Client executables depend from various dlls, so it is needed to manually place them to the exec folder.

Note: It's supposed to be built from an active git repository (git describe --tags --abbrev=4 will be called during the process), otherwise it won't compile.

How to build everything on Linux

  1. Install dependencies. Look into .travis.yml file for clues. (For Arch Linux only: All dependencies can be installed with sudo pacman -S git qt5-base qt5-multimedia go python mesa gcc)
  2. cd into installation directory.
  3. git clone https://github.com/griefly/griefly.git
  4. cd griefly
  5. ./make.sh. Built project will be placed under exec directory. Server will be built in gopath/src/griefly-server directory.

Note: It's supposed to be built from an active git repository (git describe --tags --abbrev=4 will be called during the process), otherwise it won't compile.
Note: gccgo is not supported! The current FindGo.cmake cannot parse the gccgo version string, so you will obtain an error. Use the official version instead.
Note: There may be some issues with CMake 3.0.2, so try to update your CMake if issues appear.

How to build everything on MacOS

  1. Install dependencies using brew. brew install qt
  2. Look at the tips in make.sh and adjust your enviorment accordingly.
  3. ./make.sh. Build project will be placed under exec directory Server will be built in gopath/src/griefly-server directory.

How to start server

Server available in directory gopath/src/griefly-server. When hosting server, consider following adjustments:

  1. Change password for admin user in db/auth.json. Passwords stored in plain text now.
  2. When starting server, provide -server-url parameter. This parameter is an URL for asset server. It should be either host address (when server exposed to internet directly) or external ip (when running behind NAT). Server will bind on port, extracted from this url and clients will use url to connect to server for map exchange.

Other server options available in help: griefly-server -h

How to run game without launcher

Pass those command line parameters to KVEngine or KVEngine.exe:

First (master) client:
mapgen_name=<path_to_mapgen> login=<admin login> password=<admin password>
where login and password params values should match values in an auth database (by default griefly-server/db/auth.json), and path_to_mapgen should be path to some mapgen file. Some default mapgen files are places in the maps (e.g. maps/brig_small.gen).
Other clients:
login=Guest

You can also specify game host by parameter ip=game_host_address. By default it connects to localhost.

Launcher basically does same things, but in a more convenient for usual users way.

Codestyle

See CODESTYLE.md file for C++ codestyle. Use default ones for Python and Go (PEP8 and Go Coding Style accordingly).

griefly's People

Contributors

askoufis avatar bauen1 avatar chemrat avatar disasm avatar fluorescent-net avatar kremius avatar mailaender avatar martiuk avatar mechmind avatar ninjadanz3r avatar plinhost avatar shelltitan avatar

Watchers

 avatar  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.