From 38efa6813378ba06a3043c3bae7dd6c007d01982 Mon Sep 17 00:00:00 2001 From: s1lentq Date: Thu, 20 Jun 2024 22:34:09 +0700 Subject: [PATCH] Update README.md --- README.md | 148 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 146 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5c6c517..d22d96e 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,146 @@ -# Reunion -Metamod plugin that allows protocol 47 and 48 no-steam clients to join the ReHLDS server +# Reunion [![C/C++ CI](https://github.com/s1lentq/reunion/actions/workflows/build.yml/badge.svg)](https://github.com/s1lentq/reunion/actions/workflows/build.yml) [![GitHub release (by tag)](https://img.shields.io/github/downloads/s1lentq/reunion/latest/total)](https://github.com/s1lentq/reunion/releases/latest) ![GitHub all releases](https://img.shields.io/github/downloads/s1lentq/reunion/total) [![Percentage of issues still open](http://isitmaintained.com/badge/open/s1lentq/reunion.svg)](http://isitmaintained.com/project/s1lentq/reunion "Percentage of issues still open") [![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) + +Metamod plugin that allows protocol 47 and 48 no-steam clients to connect to ReHLDS servers.
+Reunion is a continuation of the DProto project adapted for ReHLDS.
+ +You can try playing on one of many servers that are using Reunion: [Game Tracker](http://www.gametracker.com/search/?search_by=server_variable&search_by2=reu_version) + +## Downloads +* [Release builds](https://github.com/s1lentq/reunion/releases) +* [Dev builds](https://github.com/s1lentq/reunion/actions/workflows/build.yml) + +## Environment requirement +* ReHLDS API >= 3.10 + +## Installation + +
+Click to expand + +1. Go to `/addons/` and make new directory named reunion
+`` - its a game directory; cstrike for Counter-Strike, valve for Half-Life, etc + +2. Copy `reunion_mm.dll` or `reunion_mm_i386.so` to /addons/reunion/ + +3. Go to metamod installation directory (usually its /addons/metamod/) and edit plugins.ini:
+add this line for windows
+`win32 addons\reunion\reunion_mm.dll`
+or this for linux
+`linux addons/reunion/reunion_mm_i386.so`
+at the beginning of the file
+ +4. Copy `reunion.cfg` to server root or gamedir. + +5. Start the server. When server loads, type `meta list` in console. You'll see something like this: +``` + Currently loaded plugins: + description stat pend file vers src load unlod + [ 1] Reunion RUN - reunion_mm_i386. v0.1.58 ini Start Never + [ 2] AMX Mod X RUN - amxmodx_mm_i386. v1.8.1.3 ini Start ANY + 2 plugins, 2 running +``` +6. Ready to use + +If reunion doesn't work, meta list says this: +Currently loaded plugins: + description stat pend file vers src load unlod + [ 1] Reunion fail load reunion_mm_i386. v0.1.65 ini Start Never + +Start server with `-console +log on +mp_logecho 1` parameters and look through console output. You'll find the reason there. +
+ +## FAQ +
+Click to expand + +* `Q` I configured SteamIdHashSalt as well as in the dproto, but players get a different steamids. Why?
+ `A` Reunion uses an another hashing algorythm with improved security. Knowing of someones's steamid before enabling SteamIdHashSalt doesn't help to get same id after hashing. + +* `Q` Is it possible to do something against steamid changers?
+ `A` No, idchangers generates a correct authorization tickets and it's impossible on serverside identify that steamid was changed. You can only set a SteamIdHashSalt option to prevent a substitution to specific steamid of another player. + +* `Q` Why some server monitorings can't receive the players list from server?
+ `A` They use an incorrect query format and must be rewritten using latest PHP-Source-Query script or equivalent. + +* `Q` In dproto was option Game_Name, but in reunion it has not. How to change the game name?
+ `A` Use plugin. + +* `Q` Why has SmartSteamEmu3 support been removed?
+ `A` To open-source the Reunion project, we had to remove some sensitive components.
+ This includes the `SmartSteamEmu3` emulator's authorization code. + Removing it won't significantly affect server online activity since this emulator is rare among non-steam clients. + +
+ +## Build instructions +### Checking requirements +There are several software requirements for building reunion: + +#### Windows +
+Visual Studio 2015 (C++14 standard) and later
+
+ +#### Linux +
+cmake >= 3.10
+GCC >= 4.9.2 (Optional)
+ICC >= 15.0.1 20141023 (Optional)
+LLVM (Clang) >= 6.0 (Optional)
+
+ +### Building + +#### Windows +Use `Visual Studio` to build, open `msvc/Reunion.sln` and just select from the solution configurations list `Release` or `Debug` + +#### Linux + +* Optional options using `build.sh --compiler=[gcc] --jobs=[N] -D[option]=[ON or OFF]` (without square brackets) + +
+-c=|--compiler=[icc|gcc|clang]  - Select preferred C/C++ compiler to build
+-j=|--jobs=[N]                  - Specifies the number of jobs (commands) to run simultaneously (For faster building)
+
+Definitions (-D)
+DEBUG                           - Enables debugging mode
+USE_STATIC_LIBSTDC              - Enables static linking library libstdc++
+
+ +* ICC
./build.sh --compiler=intel
+* LLVM (Clang)
./build.sh --compiler=clang
+* GCC
./build.sh --compiler=gcc
+ +##### Checking build environment (Debian / Ubuntu) + +
+Click to expand + + +
+ +### Credits +* [@Crock](https://github.com/theCrock), [@Lev](https://github.com/LevShisterov), and other people such as [@PRoSToTeM@](https://github.com/WPMGPRoSToTeMa) who participated or helped with the development of [DProto](https://cs.rin.ru/forum/viewtopic.php?f=29&t=55986) +* [@theAsmodai](https://github.com/theAsmodai) for contributions as Reunion project former maintainer +* [@dreamstalker](https://github.com/dreamstalker) for the rehlds project, as well as the contributors involved in this project +* [@NordicWarrior](https://github.com/Nord1cWarr1or) for testing and feedback +* [@kazakh758](https://github.com/kazakh758) for testing a fix of issue related to the client hanging on connect