Kola50011 / EvoMp

EvoMp source code
https://evomp.de/
GNU Lesser General Public License v3.0
3 stars 2 forks source link

Evolution Multiplayer Framework

GT-MP fun and easy
A framework for creating sturdy Grand Theft Multiplayer Servers.


CircleCI License: LGPL v3

WebsiteKey FeaturesHow To UseCreditsRelatedLicense

Table of Contents

Key Features

How to Use (Windows)

1. Prerequisites

In order to use this framework you need to clone and run everything. You'll need Git, Visual Studio 2017, (& Visual Studio Code), Node.js 8.x.x & Yarn

# Clone this repository
$ git clone https://github.com/Kola50011/EvoMp.git

# Go into the repository
$ cd EvoMp

# Install clientside dependencies
$ yarn install

# Compile the Client-Side
$ yarn build

2. Visual Studio Settings

3. Optional Visual Studio Settings

Credits

This framework makes use of several open source project. For details see here.

This README.md file is based upon the work of electron-markdownify

Related

License

This framework is licensed under the GNU LGPLv3. See LICENSE for details.

Debugging

Entity Framework Query Debuging

Add the following line in the context constructor to enable the logging:

Database.Log = s => { };

Full Example:

public VehicleContext() : base(Environment.GetEnvironmentVariable("NameOrConnectionString"))
{
    // Database logging
    Database.Log = s => { };
}

Suggested IDE Addons / Plugins

Visual Studio Code

Custom GT-MP type overwrites

Developing on Ubuntu

# Run the following commands as a su
$ sudo -s

# Set variables for setup
$ MyGetUserName=USERNAME; # For MyGet access
$ MyGetPassword=PASSWORD; # For MyGet access
$ MyGetApiKey=MYGETAPIKEY; # For MyGet access (Can be generated on the MyGet site)
$ RepositoryRoot='/path/to/EvoMp'; # Your RepositoryRoot path

# Install Mono
$ apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
$ echo "deb http://download.mono-project.com/repo/ubuntu xenial main" | tee /etc/apt/sources.list.d/mono-official.list
$ apt-get install mono-devel -y

# Install NuGet
$ apt-get update
$ apt-get install nuget -y

# (OPTIONAL) Set MyGet source as the NuGet source
$ nuget setapikey $MyGetApiKey -source "https://www.myget.org/F/gt5mp/api/v2"
$ nuget sources add -Name "grandtheftmultiplayer.api" -source "https://www.myget.org/F/gt5mp/api/v2" -User $MyGetUserName -pass $MyGetPassword -ConfigFile ~/.config/NuGet/NuGet.Config

# NuGet restore
$ cd $RepositoryRoot/EvoMp
$ nuget restore EvoMp.sln -NoCache -ConfigFile ~/.config/NuGet/NuGet.Config

# Compile the Server-Side
$ msbuild EvoMp.sln /p:TargetFrameworkVersion=v4.6.2 /p:Configuration=Linux EvoMp.sln

# Install NodeJS
$ curl -sL https://deb.nodesource.com/setup_8.x | bash -
apt-get install -y nodejs

# Install Yarn
$ apt-get install apt-transport-https -y
$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -""
$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
$ apt-get update && apt-get install yarn -y

# Get Clientside Dependencies
$ cd $RepositoryRoot
$ yarn install

# Compile the Client-Side
$ yarn build

# Start the server
$ cd $RepositoryRoot/GTMP_Server
$ mono GrandTheftMultiplayer.Server.exe

// Update: Now it's an active GitHub project, so store it Microsoft for 1k years :3