ghostOne: remove
broken and unmaintained
This commit is contained in:
parent
fe437d70ec
commit
445e3d7390
@ -65,7 +65,7 @@
|
|||||||
foldingathome = 37;
|
foldingathome = 37;
|
||||||
sabnzbd = 38;
|
sabnzbd = 38;
|
||||||
#kdm = 39; # dropped in 17.03
|
#kdm = 39; # dropped in 17.03
|
||||||
ghostone = 40;
|
#ghostone = 40; # dropped in 18.03
|
||||||
git = 41;
|
git = 41;
|
||||||
fourstore = 42;
|
fourstore = 42;
|
||||||
fourstorehttp = 43;
|
fourstorehttp = 43;
|
||||||
@ -348,7 +348,7 @@
|
|||||||
#foldingathome = 37; # unused
|
#foldingathome = 37; # unused
|
||||||
#sabnzd = 38; # unused
|
#sabnzd = 38; # unused
|
||||||
#kdm = 39; # unused, even before 17.03
|
#kdm = 39; # unused, even before 17.03
|
||||||
ghostone = 40;
|
#ghostone = 40; # dropped in 18.03
|
||||||
git = 41;
|
git = 41;
|
||||||
fourstore = 42;
|
fourstore = 42;
|
||||||
fourstorehttp = 43;
|
fourstorehttp = 43;
|
||||||
|
@ -220,7 +220,6 @@
|
|||||||
./services/editors/emacs.nix
|
./services/editors/emacs.nix
|
||||||
./services/editors/infinoted.nix
|
./services/editors/infinoted.nix
|
||||||
./services/games/factorio.nix
|
./services/games/factorio.nix
|
||||||
./services/games/ghost-one.nix
|
|
||||||
./services/games/minecraft-server.nix
|
./services/games/minecraft-server.nix
|
||||||
./services/games/minetest-server.nix
|
./services/games/minetest-server.nix
|
||||||
./services/games/terraria.nix
|
./services/games/terraria.nix
|
||||||
|
@ -1,105 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
|
|
||||||
cfg = config.services.ghostOne;
|
|
||||||
ghostUser = "ghostone";
|
|
||||||
stateDir = "/var/lib/ghost-one";
|
|
||||||
|
|
||||||
in
|
|
||||||
{
|
|
||||||
|
|
||||||
###### interface
|
|
||||||
|
|
||||||
options = {
|
|
||||||
services.ghostOne = {
|
|
||||||
|
|
||||||
enable = mkOption {
|
|
||||||
default = false;
|
|
||||||
description = "Enable Ghost-One Warcraft3 game hosting server.";
|
|
||||||
};
|
|
||||||
|
|
||||||
language = mkOption {
|
|
||||||
default = "English";
|
|
||||||
type = types.enum [ "English" "Spanish" "Russian" "Serbian" "Turkish" ];
|
|
||||||
description = "The language of bot messages: English, Spanish, Russian, Serbian or Turkish.";
|
|
||||||
};
|
|
||||||
|
|
||||||
war3path = mkOption {
|
|
||||||
default = "";
|
|
||||||
description = ''
|
|
||||||
The path to your local Warcraft III directory, which must contain war3.exe, storm.dll, and game.dll.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
mappath = mkOption {
|
|
||||||
default = "";
|
|
||||||
description = ''
|
|
||||||
The path to the directory where you keep your map files. GHost One doesn't require
|
|
||||||
map files but if it has access to them it can send them to players and automatically
|
|
||||||
calculate most map config values. GHost One will search [bot_mappath + map_localpath]
|
|
||||||
for the map file (map_localpath is set in each map's config file).
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkOption {
|
|
||||||
default = "";
|
|
||||||
description = "Extra configuration options.";
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
###### implementation
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
|
|
||||||
users.extraUsers = singleton
|
|
||||||
{ name = ghostUser;
|
|
||||||
uid = config.ids.uids.ghostone;
|
|
||||||
description = "Ghost One game server user";
|
|
||||||
home = stateDir;
|
|
||||||
};
|
|
||||||
|
|
||||||
users.extraGroups = singleton
|
|
||||||
{ name = ghostUser;
|
|
||||||
gid = config.ids.gids.ghostone;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.ghostOne.config = ''
|
|
||||||
# bot_log = /dev/stderr
|
|
||||||
bot_language = ${pkgs.ghostOne}/share/ghost-one/languages/${cfg.language}.cfg
|
|
||||||
bot_war3path = ${cfg.war3path}
|
|
||||||
|
|
||||||
bot_mapcfgpath = mapcfgs
|
|
||||||
bot_savegamepath = savegames
|
|
||||||
bot_mappath = ${cfg.mappath}
|
|
||||||
bot_replaypath = replays
|
|
||||||
'';
|
|
||||||
|
|
||||||
systemd.services."ghost-one" = {
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
script = ''
|
|
||||||
mkdir -p ${stateDir}
|
|
||||||
cd ${stateDir}
|
|
||||||
chown ${ghostUser}:${ghostUser} .
|
|
||||||
|
|
||||||
mkdir -p mapcfgs
|
|
||||||
chown ${ghostUser}:${ghostUser} mapcfgs
|
|
||||||
|
|
||||||
mkdir -p replays
|
|
||||||
chown ${ghostUser}:${ghostUser} replays
|
|
||||||
|
|
||||||
mkdir -p savegames
|
|
||||||
chown ${ghostUser}:${ghostUser} savegames
|
|
||||||
|
|
||||||
ln -sf ${pkgs.writeText "ghost.cfg" cfg.config} ghost.cfg
|
|
||||||
ln -sf ${pkgs.ghostOne}/share/ghost-one/ip-to-country.csv
|
|
||||||
${pkgs.su}/bin/su -s ${pkgs.stdenv.shell} ${ghostUser} \
|
|
||||||
-c "LANG=C ${pkgs.ghostOne}/bin/ghost++"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
@ -1,55 +0,0 @@
|
|||||||
{ stdenv, fetchurl, unzip, gmp, zlib, bzip2, boost, mysql }:
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
|
|
||||||
name = "ghost-one-${version}";
|
|
||||||
version = "1.7.265";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "http://www.maxdevlon.com/ghost/ghostone${version}.zip";
|
|
||||||
sha256 = "1sm2ca3lcdr4vjg7v94d8zhqz8cdp44rg8yinzzwkgsr0hj74fv2";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = [ unzip gmp zlib bzip2 boost mysql.connector-c ];
|
|
||||||
|
|
||||||
patchPhase = ''
|
|
||||||
substituteInPlace ghost/Makefile --replace "/usr/local/lib/mysql" \
|
|
||||||
"${mysql.connector-c}/lib/mariadb"
|
|
||||||
'';
|
|
||||||
|
|
||||||
buildPhase = ''
|
|
||||||
cd bncsutil/src/bncsutil
|
|
||||||
make
|
|
||||||
cd ../../../StormLib/stormlib/
|
|
||||||
make
|
|
||||||
mkdir -p $out/lib
|
|
||||||
cd ../..
|
|
||||||
# cp bncsutil/src/bncsutil/libbncutil.so $out/lib
|
|
||||||
# cp StormLib/stormlib/libStorm.so $out/lib
|
|
||||||
cd ghost
|
|
||||||
make
|
|
||||||
cd ..
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/lib
|
|
||||||
cp bncsutil/src/bncsutil/libbncsutil.so $out/lib
|
|
||||||
cp StormLib/stormlib/libStorm.so $out/lib
|
|
||||||
|
|
||||||
mkdir -p $out/bin
|
|
||||||
cp ghost/ghost++ $out/bin
|
|
||||||
|
|
||||||
mkdir -p $out/share/ghost-one/languages
|
|
||||||
cp -r mapcfgs $out/share/ghost-one
|
|
||||||
cp Languages/*.cfg $out/share/ghost-one/languages
|
|
||||||
cp language.cfg $out/share/ghost-one/languages/English.cfg
|
|
||||||
cp ip-to-country.csv $out/share/ghost-one/
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
homepage = http://www.codelain.com/forum/;
|
|
||||||
description = "A Warcraft III: Reign of Chaos and Warcraft III: The Frozen Throne game hosting bot";
|
|
||||||
license = licenses.asl20;
|
|
||||||
maintainers = [ maintainers.phreedom ];
|
|
||||||
broken = true; # can't even get downloaded
|
|
||||||
};
|
|
||||||
}
|
|
@ -18085,8 +18085,6 @@ with pkgs;
|
|||||||
|
|
||||||
gemrb = callPackage ../games/gemrb { };
|
gemrb = callPackage ../games/gemrb { };
|
||||||
|
|
||||||
ghostOne = callPackage ../servers/games/ghost-one { };
|
|
||||||
|
|
||||||
gl117 = callPackage ../games/gl-117 {};
|
gl117 = callPackage ../games/gl-117 {};
|
||||||
|
|
||||||
globulation2 = callPackage ../games/globulation {
|
globulation2 = callPackage ../games/globulation {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user