Compare commits

..

No commits in common. "master" and "custom" have entirely different histories.

2 changed files with 169 additions and 259 deletions

146
README.md
View File

@ -8,55 +8,135 @@ We are ([STAM](https://github.com/stamepicmorg) and [AurZum](https://github.com/
and we are merged it to one big cleanuped and actualized list. Why not?
Now we are checking mods to compablity with [ReHLDS](https://github.com/dreamstalker/ReHLDS) and [Metamod-r](https://github.com/theAsmodai/metamod-r):
* we are cleaned list of available games. deleted old won-games. 'cause ReHLDS works only on steam-version -> metamod-r too, against original metamod.
* we are compilled last version [![Download](https://camo.githubusercontent.com/2b15ec2fc402e02b66fde9eab7e896406caeddac/687474703a2f2f7265686c64732e6f72672f76657273696f6e2f6d6574616d6f642d2d722e737667)](http://teamcity.rehlds.org/guestAuth/downloadArtifacts.html?buildTypeId=Metamod_Publish&buildId=lastSuccessful) metamod-r with our game-list.
Now we are checking mods to compablity with [reHLDS](https://github.com/dreamstalker/rehlds) and [Metamod-r](https://github.com/theAsmodai/metamod-r):
* we are cleaned list of available games. deleted old won-games. 'cause rehlds works only on steam-version -> metamod-r too, against original metamod.
* we are compilled last version metamod-r with our game-list.
* we are checked all mods with compablity.
Some rare mods are uploaded at: https://github.com/EpicMorgGames/LegacyMods
If all be ok we will pull this list to awesome metamod-r.
# To do
1. test again all games\mods on windows
2. test again all games\mods on linux (if available)
1. test all games\mods on windows
2. test all games\mods on linux (if available)
3. keep some windows-servers. for fun. why not?
4. Check out actual servers list [here](https://github.com/EpicMorgGames/OurGameServerList).
# Official suppoted games:
See wiki pages: [ru](https://github.com/EpicMorgGames/metamod-r-game-tests/wiki/Поддерживаемые-игры) or [en](https://github.com/EpicMorgGames/metamod-r-game-tests/wiki/Supported-games)
# already preTested games
# To be tested (other 3rd party mods)
:x: - unsuccess :heavy_check_mark: - success :interrobang: - need testing
:x: - unsuccess :heavy_check_mark: - success :interrobang: - need testing :anger: - not shure
| Game | Engine | Metamod | Windows | Linux | SteamPipe | Comment
| ------------- |---------------| ------| ------| ------| ------|------|
| [Counter-Strike 1.6](http://store.steampowered.com/app/10/CounterStrike/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | Recommended to use [reGameDll_CS](https://github.com/s1lentq/ReGameDLL_CS)
| [Half-Life](http://store.steampowered.com/app/70/HalfLife/) + [Bugfixed and improved](http://aghl.ru/forum/viewtopic.php?f=32&t=686) [HL release](http://aghl.ru/files/patches/BugfixedHL/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :heavy_check_mark: | :interrobang: | :heavy_check_mark: | Added support after 1.3.76 version
| [Adrenaline Gamer](http://www.moddb.com/mods/adrenaline-gamer/downloads/) + [openAG](https://github.com/YaLTeR/OpenAG)| [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Half-Life: Blue Shift](http://store.steampowered.com/app/130/HalfLife_Blue_Shift/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Counter-Strike:Condition Zero](http://store.steampowered.com/app/80/CounterStrike_Condition_Zero/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Counter-Strike:Condition Zero Deleted Scenes](http://store.steampowered.com/app/80/CounterStrike_Condition_Zero/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Deathmatch Classic](http://store.steampowered.com/app/40/Deathmatch_Classic/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Day of Defeat](http://store.steampowered.com/app/30/Day_of_Defeat/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Earth's Special Forces](http://www.moddb.com/mods/earths-special-forces/downloads) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark: | Linux-server's binaries placed in not-dll folder
| [Opposing Force](http://store.steampowered.com/app/50/HalfLife_Opposing_Force/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Natural Selection](https://unknownworlds.com/ns/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Natural Selection Beta](https://unknownworlds.com/ns/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Ricochet](http://store.steampowered.com/app/60/Ricochet/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Team Fortress Classic](http://store.steampowered.com/app/20/Team_Fortress_Classic/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [The Specialists](http://www.moddb.com/mods/the-specialists/downloads) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| Game | Engine | Metamod | Windows | Linux | SteamPipe| Comment
| ------------- |---------------| ------| ------| ------| ------| ------|
| - | - | - | - | - | - | - |
-----------------------------------
You can add issue or PR with asking us to test some other mods.
# Outdated mods. WON-versions or versions wich disappeared from internet
# To be tested
:x: - unsuccess :heavy_check_mark: - success :interrobang: - need testing
| Game | Engine | Metamod | Windows | Linux | SteamPipe| Comment
| ------------- |---------------| ------| ------| ------| ------| ------|
| ~[Adrenalinegamer 3.x](http://planethalflife.gamespy.com/View75d9.html?view=HLFiles.Detail&id=1929)~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version
| ~Adrenalinegamer 4.x~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version. Cant find in the internet. lol
| ~[Arg!](https://www.fileplanet.com/50432/download/Arg!-The-Pirates-Strike-Back)~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version. Cant find in the internet. lol
| ~Bot~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version. Cant find in the internet. lol
| ~[Counter-Strike 1.3](http://www.moddb.com/downloads/counter-strike-13)~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version.
| ~[Counter-Strike 1.4](http://www.moddb.com/mods/counter-strike/downloads/counter-strike-14)~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version.
| ~[Counter-Strike 1.5](http://www.moddb.com/mods/counter-strike/downloads/counter-strike-15)~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version.
| ~[Dragon Mod Z](http://www.moddb.com/mods/dragonmod-z/downloads/)~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | 1.7 - Old outdated won-version. Classic - custom steam build with other mod-folder. In comments - project is continued by ESF-mod.
| ~Freeze~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version. Cant find in the internet. lol
| ~OeL Half-Life~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version.
| ~Phineas Bot~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version.
| ~Retro Counter-Strike~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Cant find in the internet. lol
| ~Retro Firearms~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Cant find in the internet. lol
| ~Special Death Match~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Cant find in the internet. lol
| ~[The Terrorist Revenge](http://www.moddb.com/mods/terrorist-revenge/downloads/)~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version.
| ~Wasteland~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Cant find in the internet. lol
| ~Weapon Wars~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Cant find in the internet. lol
| [Action Half-Life](http://www.moddb.com/mods/action-half-life/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Adrenalinegamer 3.x](http://planethalflife.gamespy.com/View75d9.html?view=HLFiles.Detail&id=1929) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version
| Adrenalinegamer 4.x | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version. Cant find in the internet. lol
| [Arg!](https://www.fileplanet.com/50432/download/Arg!-The-Pirates-Strike-Back) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| [Azure Sheep](http://www.moddb.com/mods/azure-sheep/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Base Defense](http://www.moddb.com/mods/b-def/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark: | Server's binaries placed in not-dll folder
| Bot * | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version. Cant find in the internet. lol
| [Brain Bread](http://www.moddb.com/mods/brainbread/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Brutal Half-Life](http://www.moddb.com/mods/brutal-half-life/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :x: | :heavy_check_mark: | Have no linux binary. Check it.
| [Bumper Cars](http://www.moddb.com/mods/bumper-cars/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [BuzzyBots](http://www.moddb.com/mods/buzzybots/downloads) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Chicken Fortress 3](http://www.moddb.com/mods/chicken-fortress-3/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :x: | :heavy_check_mark: | Have no linux binary. Check it.
| Counter-Strike 1.3 (WON) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version.
| Counter-Strike 1.4 (WON) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version.
| Counter-Strike 1.5 (WON) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version.
| Counter-Strike 1.5 (Steam) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| Desert Crisis | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Digital Paintball | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Dragon Mod Z | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Existence | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Firearms | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Freeze | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Frontline Force | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| [Gangsta Wars (Steam)](http://www.moddb.com/mods/gangsta-wars/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| Gangwars | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Global Warfare | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Goldeneye | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Gunman Chronicles | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| [Half-Life 1.5: Weapon Edition](http://www.moddb.com/mods/half-life-weapon-edition/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Half-Life: Decay](http://www.moddb.com/mods/half-life-decay/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :heavy_check_mark: | :x: | :heavy_check_mark: | Have no linux binary. 100%.
| Headcrab Frenzy | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang: |
| HL-Rally | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Holy Wars | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Hostile Intent | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| International Online Soccer | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Judgement | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Kanonball | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Master Sword Continued | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :x: | :interrobang: | Have no linux binary. Check it.
| Monkeystrike | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Morbid Inclination | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Move In! | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| OeL Half-Life | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Open-Source Jailbreak | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :x: | :interrobang: | Have no linux binary. Check it.
| Operations 1942 | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Out Break | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :x: | :interrobang: | Have no linux binary. Check it.
| Outlawsmod | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Over Ground | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Oz Deathmatch | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Paintball | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Phineas Bot | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Pirates, Vikings and Knights | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Point of No Return | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Project Timeless | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Public Enemy | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Resident Evil : Cold Blood | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Retro Counter-Strike | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Retro Firearms | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Rival Species | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| [Rocket Crowbar](http://hldm.org/files/mods/287-rocket-crowbar.html) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Rocket Crowbar 2](http://www.moddb.com/mods/rocket-crowbar-2/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| Science & Industry | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Scientist Hunt | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Snow-War | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Special Death Match | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| [StargateTC](http://www.moddb.com/mods/stargatetc/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| Sven Coop | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark: |
| Swarm | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang: |
| The Battle Grounds | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang: |
| The Ship | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang: |
| The Terrorist Revenge | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| The Trenches | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| The Wastes | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Tour of Duty | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Train Hunters | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Underworld Bloodline | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| VampireSlayer | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Wanted! | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Wasteland | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Weapon Wars | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| [Wizard Wars Beta](http://www.moddb.com/mods/wizard-wars/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Wizard Wars](http://www.moddb.com/mods/wizard-wars/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [WormsHL](http://www.moddb.com/mods/wormshl/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Zombie Panic](http://www.moddb.com/mods/zombie-panic/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:

View File

@ -1,5 +1,3 @@
#include "precompiled.h"
// Adapted from adminmod h_export.cpp:
//! this structure contains a list of supported mods and their dlls names
//! To add support for another mod add an entry here, and add all the
@ -10,37 +8,44 @@ const game_modinfo_t g_known_games[] = {
// Previously enumerated in this sourcefile, the list is now kept in a
// separate file, generated based on game information stored in a
// convenient db.
{ "action", "ahl.so", "ahl.dll", "Action Half-Life" }, // _i386.so, + director's cut [2016], updated linux binary name
{ "ag", "ag.so", "ag.dll", "Adrenaline Gamer" }, // .so file by OpenAG fork
{ "asheep", nullptr, "hl.dll", "Azure Sheep" }, // have no linux binary found!
{ "bdef", "server.so", "server.dll", "Base Defense" }, // placed in normal dll folder [2017]
{ "action", "ahl.so", "ahl.dll", "Action Half-Life" },
{ "ag", "ag.so", "ag.dll", "Adrenaline Gamer" },
{ "ag3", "hl.so", "hl.dll", "Adrenalinegamer 3.x" },
{ "aghl", "ag.so", "ag.dll", "Adrenalinegamer 4.x" },
{ "arg", "arg.so", "hl.dll", "Arg!" },
{ "asheep", "hl.so", "hl.dll", "Azure Sheep" },
{ "bdef", "../cl_dlls/server.so", "../cl_dlls/server.dll", "Base Defense" }, //workaround
{ "bg", "bg.so", "bg.dll", "The Battle Grounds" },
{ "bhl", nullptr, "bhl.dll", "Brutal Half-Life" }, // have no linux binary found!
{ "brainbread", nullptr, "bb.dll", "Brain Bread" }, // have no linux binary found!
{ "bhl", nullptr, "bhl.dll", "Brutal Half-Life" }, //have no linux binary!
{ "bot", "bot.so", "bot.dll", "Bot" },
{ "brainbread", "bb.so", "bb.dll", "Brain Bread" },
{ "bshift", "bshift.so", "hl.dll", "Half-Life: Blue Shift" },
{ "bumpercars", nullptr, "hl.dll", "Bumper Cars" }, // have no linux binary found!
{ "buzzybots", nullptr, "bb.dll", "BuzzyBots" }, // have no linux binary found!
{ "ckf3", nullptr, "mp.dll", "Chicken Fortress 3" }, // have no linux binary found!, checked all versions (latest - Alpha 4)
{ "cs10", nullptr, "mp.dll", "Counter-Strike 1.0" }, // have no linux binary found!
{ "csv15", nullptr, "mp.dll", "Counter-Strike 1.5" }, // have no linux binary found!
{ "cstrike", "cs.so", "mp.dll", "Counter-Strike 1.6" },
{ "bumpercars", "hl.so", "hl.dll", "Bumper Cars" },
{ "buzzybots", "bb.so", "bb.dll", "BuzzyBots" },
{ "ckf3", nullptr, "mp.dll", "Chicken Fortress 3" }, //have no linux binary!
{ "cs13", "cs.so", "mp.dll", "Counter-Strike 1.3" },
{ "cstrike", "cs.so", "mp.dll", "Counter-Strike" },
{ "csv15", "cs.so", "mp.dll", "Counter-Strike 1.5 (Steam)" },
{ "czero", "cs.so", "mp.dll", "Counter-Strike:Condition Zero" },
{ "czeror", "cz.so", "cz.dll", "Counter-Strike:Condition Zero Deleted Scenes" },
{ "dcrisis", "dc.so", "dc.dll", "Desert Crisis" }, // _i386.so, updated linux binary name [2010]
{ "decay", nullptr, "decay.dll", "Half-Life: Decay" }, // have no linux binary!
{ "dcrisis", "dc.so", "dc.dll", "Desert Crisis" },
{ "decay", nullptr, "decay.dll", "Half-Life: Decay" },
{ "dmc", "dmc.so", "dmc.dll", "Deathmatch Classic" },
{ "dod", "dod.so", "dod.dll", "Day of Defeat" },
{ "dpb", "pb.i386.so", "pb.dll", "Digital Paintball" }, // ...
{ "esf", "../linuxdll/hl.so", "hl.dll", "Earth's Special Forces (old)" }, // _i386.so, workaround for basic-linux version
{ "esf", "hl.so", "hl.dll", "Earth's Special Forces" }, // _i386.so, full linux version
{ "existence", nullptr, "existence.dll", "Existence" }, // have no linux binary found!
{ "firearms", nullptr, "firearms.dll", "Firearms" }, // have no linux binary found!
{ "frontline", "front.so", "frontline.dll", "Frontline Force" }, // _i386.so, updated linux binary name [2012]
{ "gangstawars", nullptr, "gwars27.dll", "Gangsta Wars" }, // have no linux binary found!
{ "gangwars", nullptr, "mp.dll", "Gangwars" }, // have no linux binary found!
{ "dpb", "pb.i386.so", "pb.dll", "Digital Paintball" },
{ "dragonmodz", "hl.so", "mp.dll", "Dragon Mod Z" },
{ "esf", "../linuxdll/hl_i386.so", "hl.dll", "Earth's Special Forces (Steam)" }, //workaround
{ "esf", "hl.so", "hl.dll", "Earth's Special Forces (Old)" },
{ "existence", "ex.so", "existence.dll", "Existence" },
{ "firearms", "fa.so", "firearms.dll", "Firearms" },
{ "firearms25", "fa.so", "firearms.dll", "Retro Firearms" },
{ "freeze", "mp.so", "mp.dll", "Freeze" },
{ "frontline", "front.so", "frontline.dll", "Frontline Force" },
{ "gangstawars", "gangsta.so", "gwars27.dll", "Gangsta Wars (Steam)" },
{ "gangwars", "mp.so", "mp.dll", "Gangwars" },
{ "gearbox", "opfor.so", "opfor.dll", "Opposing Force" },
{ "globalwarfare", "gw.so", "mp.dll", "Global Warfare" }, // _i386.so, updated linux binary name [2012]
{ "goldeneye", nullptr, "mp.dll", "Goldeneye" }, // have no linux binary found!
{ "globalwarfare", "gw.so", "mp.dll", "Global Warfare" },
{ "goldeneye", "golden.so", "mp.dll", "Goldeneye" },
{ "hcfrenzy", "hcfrenzy.so", "hcfrenzy.dll", "Headcrab Frenzy" },
{ "hl15we", "hl.so", "hl.dll", "Half-Life 1.5: Weapon Edition" },
{ "hlrally", "hlr.so", "hlrally.dll", "HL-Rally" },
@ -55,29 +60,35 @@ const game_modinfo_t g_known_games[] = {
{ "msc", nullptr, "ms.dll", "Master Sword Continued" },
{ "ns", "ns.so", "ns.dll", "Natural Selection" },
{ "nsp", "ns.so", "ns.dll", "Natural Selection Beta" },
{ "oel", "hl.so", "hl.dll", "OeL Half-Life" },
{ "og", "og.so", "og.dll", "Over Ground" },
{ "ol", "ol.so", "hl.dll", "Outlawsmod" },
{ "ops1942", "spirit.so", "spirit.dll", "Operations 1942" },
{ "osjb", "osjb.so", "jail.dll", "Open-Source Jailbreak" },
{ "outbreak", nullptr, "hl.dll", "Out Break" }, // have no linux binary found!
{ "outbreak", nullptr, "hl.dll", "Out Break" }, //have no linux binary
{ "oz", "mp.so", "mp.dll", "Oz Deathmatch" },
{ "paintball", "pb.so", "mp.dll", "Paintball" },
{ "penemy", "pe.so", "pe.dll", "Public Enemy" },
{ "phineas", "phineas.so", "phineas.dll", "Phineas Bot" },
{ "ponreturn", "ponr.so", "mp.dll", "Point of No Return" },
{ "pvk", "hl.so", "hl.dll", "Pirates, Vikings and Knights" },
{ "rc2", "rc2.so", "rc2.dll", "Rocket Crowbar 2" },
{ "recbb2", "recb.so", "recb.dll", "Resident Evil : Cold Blood" },
{ "rewolf", nullptr, "gunman.dll", "Gunman Chronicles" }, // have no linux binary found!
{ "retrocs", "rcs.so", "rcs.dll", "Retro Counter-Strike" },
{ "rewolf", "hl.so", "gunman.dll", "Gunman Chronicles" },
{ "ricochet", "ricochet.so", "mp.dll", "Ricochet" },
{ "rockcrowbar", "rc.so", "rc.dll", "Rocket Crowbar" }, // + _i386.so
{ "rockcrowbar", "rc.so", "rc.dll", "Rocket Crowbar" },
{ "rockcrowbar", "rc_i386.so", "rc.dll", "Rocket Crowbar" },
{ "rspecies", "hl.so", "hl.dll", "Rival Species" },
{ "scihunt", "shunt.so", "shunt.dll", "Scientist Hunt" },
{ "sdm", "sdmmod.so", "sdmmod.dll", "Special Death Match" },
{ "sdmmod", "sdmmod.so", "sdmmod.dll", "Special Death Match" },
{ "ship", "ship.so", "ship.dll", "The Ship" },
{ "si", "si.so", "si.dll", "Science & Industry" },
{ "snow", "snow.so", "snow.dll", "Snow-War" },
{ "stargatetc", "hl.so", "hl.dll", "StargateTC (Old, 1.x)" },
{ "stargatetc", "stc.so", "hl.dll", "StargateTC (Updated, 2.x)" }, // _i386.so
{ "stargatetc", "stc_i386_opt.so", "hl.dll", "StargateTC (Updated, 2.x)" }, // ...
{ "stargatetc", "stc_i386.so", "hl.dll", "StargateTC (Updated, 2.x)" },
{ "stargatetc", "stc_i386_opt.so", "hl.dll", "StargateTC (Updated, 2.x)" },
{ "svencoop", "hl.so", "hl.dll", "Sven Coop (Old)" },
{ "svencoop", "server.so", "server.dll", "Sven Coop (Steam)" },
{ "swarm", "swarm.so", "swarm.dll", "Swarm" },
@ -86,205 +97,24 @@ const game_modinfo_t g_known_games[] = {
{ "timeless", "pt.so", "timeless.dll", "Project Timeless" },
{ "tod", "hl.so", "hl.dll", "Tour of Duty" },
{ "trainhunters", "th.so", "th.dll", "Train Hunters" },
{ "ts", "ts.so", "mp.dll", "The Specialists" }, //_i686.so, _i386.so
{ "trevenge", "trevenge.so", "trevenge.dll", "The Terrorist Revenge" },
{ "ts", "ts_i686.so", "mp.dll", "The Specialists" },
{ "ts", "ts_i386.so", "mp.dll", "The Specialists" },
{ "tt", "tt.so", "tt.dll", "The Trenches" },
{ "underworld", "uw.so", "uw.dll", "Underworld Bloodline" },
{ "valve", "hl.so", "hl.dll", "Half-Life" },
{ "vs", "vs.so", "mp.dll", "VampireSlayer" },
{ "wantedhl", "hl.so", "wanted.dll", "Wanted!" },
{ "wizardwars", "wizardwars.so", "wizardwars.dll", "Wizard Wars (Steam)" },
{ "wizardwars_beta", "wizardwars.so", "wizardwars.dll", "Wizard Wars Beta (Steam)" }, // folder's name is not same as original. not duplicate
{ "wasteland", "whl_linux.so", "mp.dll", "Wasteland" },
{ "weapon_wars", "ww.so", "hl.dll", "Weapon Wars" },
{ "wizardwars", "wizardwars_i486.so", "wizardwars.dll", "Wizard Wars (Steam)" },
{ "wizardwars_beta", "wizardwars_i486.so", "wizardwars.dll", "Wizard Wars Beta (Steam)" },
{ "wizwars", "mp.so", "hl.dll", "Wizard Wars (Old)" },
{ "wormshl", "wormshl.so", "wormshl.dll", "WormsHL" }, // _i586.so old, _i686.so steam
{ "zp", "hl.so", "mp.dll", "Zombie Panic" }, // _i386.so
{ "wormshl", "wormshl_i586.so", "wormshl.dll", "WormsHL (Old)" },
{ "wormshl", "wormshl_i686.so", "wormshl.dll", "WormsHL (Steam)" },
{ "zp", "hl_i386.so", "mp.dll", "Zombie Panic" },
// End of list terminator:
{ nullptr, nullptr, nullptr, nullptr }
};
// Find a modinfo corresponding to the given game name.
static const game_modinfo_t *lookup_game(const char *name)
{
for (auto& known : g_known_games) {
if (known.name && !Q_stricmp(known.name, name))
return &known;
}
// no match found
return nullptr;
}
bool lookup_game_postfixes(gamedll_t *gamedll)
{
char pathname[MAX_PATH];
static char postfix_path[MAX_PATH] = "";
Q_strlcpy(pathname, gamedll->pathname);
// find extensions and skip
char *pos = Q_strrchr(pathname, '.');
if (pos) {
*pos = '\0';
}
for (size_t i = 0; i < arraysize(g_platform_postfixes); i++)
{
postfix_path[0] = '\0';
Q_strlcat(postfix_path, pathname);
Q_strlcat(postfix_path, g_platform_postfixes[i]);
if (is_file_exists_in_gamedir(postfix_path)) {
Q_strlcpy(gamedll->pathname, postfix_path);
Q_strlcpy(gamedll->real_pathname, postfix_path);
gamedll->file = postfix_path;
return true;
}
}
return false;
}
// Installs gamedll from Steam cache
bool install_gamedll(char *from, const char *to)
{
if (!from)
return false;
if (!to)
to = from;
int length_in;
byte *cachefile = LOAD_FILE_FOR_ME(from, &length_in);
// If the file seems to exist in the cache.
if (cachefile) {
int fd = open(to, O_WRONLY | O_CREAT | O_EXCL | O_BINARY, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP);
if (fd < 0) {
META_DEBUG(3, "Installing gamedll from cache: Failed to create file %s: %s", to, strerror(errno));
FREE_FILE(cachefile);
return false;
}
int length_out = write(fd, cachefile, length_in);
FREE_FILE(cachefile);
close(fd);
// Writing the file was not successfull
if (length_out != length_in) {
META_DEBUG(3, "Installing gamedll from chache: Failed to write all %d bytes to file, only %d written: %s", length_in, length_out, strerror(errno));
// Let's not leave a mess but clean up nicely.
if (length_out >= 0)
_unlink(to);
return false;
}
META_LOG("Installed gamedll %s from cache.", to);
}
else {
META_DEBUG(3, "Failed to install gamedll from cache: file %s not found in cache.", from);
return false;
}
return true;
}
// Set all the fields in the gamedll struct, - based either on an entry in
// known_games matching the current gamedir, or on one specified manually
// by the server admin.
//
// meta_errno values:
// - ME_NOTFOUND couldn't recognize game
bool setup_gamedll(gamedll_t *gamedll)
{
bool override = false;
const game_modinfo_t *known;
const char *knownfn = nullptr;
// First, look for a known game, based on gamedir.
if ((known = lookup_game(gamedll->name))) {
#ifdef _WIN32
knownfn = known->win_dll;
#else
knownfn = known->linux_so;
#endif
}
// Neither override nor known-list found a gamedll.
if (!known && !g_config->m_gamedll)
return false;
// Use override-dll if specified.
if (g_config->m_gamedll) {
Q_strlcpy(gamedll->pathname, g_config->m_gamedll);
// If the path is relative, the gamedll file will be missing and
// it might be found in the cache file.
if (!is_abs_path(gamedll->pathname)) {
char szInstallPath[MAX_PATH];
Q_snprintf(szInstallPath, sizeof(szInstallPath), "%s/%s", gamedll->gamedir, gamedll->pathname);
// If we could successfully install the gamedll from the cache we
// rectify the pathname to be a full pathname.
if (install_gamedll(gamedll->pathname, szInstallPath)) {
Q_strlcpy(gamedll->pathname, szInstallPath);
}
}
override = true;
}
// Else use Known-list dll.
else if (known) {
Q_snprintf(gamedll->pathname, sizeof(gamedll->pathname), "%s/dlls/%s", gamedll->gamedir, knownfn);
}
else {
// Neither override nor known-list found a gamedll.
return false;
}
// get filename from pathname
char *cp = Q_strrchr(gamedll->pathname, '/');
if (cp)
cp++;
else
cp = gamedll->pathname;
gamedll->file = cp;
// If found, store also the supposed "real" dll path based on the
// gamedir, in case it differs from the "override" dll path.
if (known && override) {
Q_snprintf(gamedll->real_pathname, sizeof(gamedll->real_pathname), "%s/dlls/%s", gamedll->gamedir, knownfn);
}
else {
Q_strlcpy(gamedll->real_pathname, gamedll->pathname);
}
if (override) {
// generate a desc
Q_snprintf(gamedll->desc, sizeof(gamedll->desc), "%s (override)", gamedll->file);
// log result
META_LOG("Overriding game '%s' with dllfile '%s'", gamedll->name, gamedll->file);
}
else if (known) {
Q_strlcpy(gamedll->desc, known->desc);
#if !defined(_WIN32)
if (!is_file_exists_in_gamedir(gamedll->pathname))
{
// trying lookup gamedll with postfixes ie _i386.so
if (lookup_game_postfixes(gamedll)) {
META_DEBUG(3, "dll: Trying lookup to gamedll with postfixes was a success. Game '%s'", gamedll->pathname);
}
}
#endif
META_LOG("Recognized game '%s'; using dllfile '%s'", gamedll->name, gamedll->file);
}
return true;
}