mirror of
https://github.com/archlinux/aur.git
synced 2026-03-01 19:35:07 +01:00
Add ghostpp (GHost++)
This commit is contained in:
commit
4ed105a27d
8 changed files with 292 additions and 0 deletions
36
.SRCINFO
Normal file
36
.SRCINFO
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
pkgbase = ghostpp
|
||||
pkgdesc = GHost++ is a Warcraft III hosting bot
|
||||
pkgver = 17.1_r602
|
||||
pkgrel = 1
|
||||
url = https://www.ghostpp.com/
|
||||
install = ghostpp.install
|
||||
arch = i686
|
||||
arch = x86_64
|
||||
license = Apache
|
||||
makedepends = boost
|
||||
depends = boost-libs
|
||||
depends = gmp
|
||||
depends = libmysqlclient
|
||||
source = svn+http://ghostplusplus.googlecode.com/svn/trunk@602
|
||||
source = ghostpp.install
|
||||
source = ghostpp.service
|
||||
source = http://bhfiles.com/files/Battle.net/Bots/Hashes/WAR3.zip
|
||||
source = common.j.orig::http://wiki.thehelper.net/w/index.php?title=Template:import/wc3/jass/common.j&action=raw
|
||||
source = Blizzard.j.orig::http://wiki.thehelper.net/w/index.php?title=Template:import/wc3/jass/Blizzard.j&action=raw
|
||||
source = config.patch
|
||||
source = libboost.patch
|
||||
source = common.j.patch
|
||||
source = Blizzard.j.patch
|
||||
sha256sums = SKIP
|
||||
sha256sums = 5d933d698513800f19dcefe47e3640cb37df7d5330908e7424cb891381c6d812
|
||||
sha256sums = 2f67fbb67bf19621c112bc41503627aadc995a9414312274956dadbacb520826
|
||||
sha256sums = 94d0cf497aacd413f31ac512e8ebb3a71ace6c5646d55a1c77f78d56a11719a9
|
||||
sha256sums = e580248f186886a2633d96b2c538e036ff2021a21b97d775d1da5095852f8476
|
||||
sha256sums = 066b48dc4966b9a367ebb76efb969248ad49dca8b188d5c79c1465a4d3605891
|
||||
sha256sums = 67a388943cd00158e669a982caa5f5d4b2768b91341a3ed916700c10983ab59d
|
||||
sha256sums = 69b4b5bbfc49bbf6863ab8ab0c5e253b33953ea61e8c45472159493270d3391f
|
||||
sha256sums = 0e9f8c76879f5cee9a1edca1907bda190da124ccdee924de6cc0a965dbec0e76
|
||||
sha256sums = 8e6dca297cf261ae33ad8428b233e2619a6ffdd3dc32b65743d74789c9802d16
|
||||
|
||||
pkgname = ghostpp
|
||||
|
||||
18
Blizzard.j.patch
Normal file
18
Blizzard.j.patch
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
--- Blizzard.j.orig 2014-03-31 13:52:49.020265979 +0200
|
||||
+++ Blizzard.j 2014-03-31 13:53:21.276455809 +0200
|
||||
@@ -1,8 +1,4 @@
|
||||
-<noinclude>Imported data for [[Blizzard.j]]</noinclude><includeonly>
|
||||
-{{DISPLAYTITLE:Blizzard.j}}
|
||||
-{{JassSysSnip
|
||||
-| system=Blizzard.j
|
||||
-| code=<source lang="jass" line>//===========================================================================
|
||||
+//===========================================================================
|
||||
// Blizzard.j ( define Jass2 functions that need to be in every map script )
|
||||
//===========================================================================
|
||||
|
||||
@@ -10233,4 +10229,3 @@
|
||||
endfunction
|
||||
</source>
|
||||
}}
|
||||
-</includeonly>
|
||||
\ No newline at end of file
|
||||
110
PKGBUILD
Normal file
110
PKGBUILD
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
# Maintainer: heinrich5991 <heinrich5991@gmail.com>
|
||||
pkgname=ghostpp
|
||||
pkgver=17.1_r602
|
||||
pkgrel=1
|
||||
pkgdesc="GHost++ is a Warcraft III hosting bot"
|
||||
url="https://www.ghostpp.com/"
|
||||
arch=('i686' 'x86_64')
|
||||
license=('Apache')
|
||||
depends=('boost-libs'
|
||||
'gmp'
|
||||
'libmysqlclient')
|
||||
#optdepends=()
|
||||
makedepends=('boost')
|
||||
install=ghostpp.install
|
||||
source=("svn+http://ghostplusplus.googlecode.com/svn/trunk@602"
|
||||
"ghostpp.install"
|
||||
"ghostpp.service"
|
||||
"http://bhfiles.com/files/Battle.net/Bots/Hashes/WAR3.zip"
|
||||
"common.j.orig::http://wiki.thehelper.net/w/index.php?title=Template:import/wc3/jass/common.j&action=raw"
|
||||
"Blizzard.j.orig::http://wiki.thehelper.net/w/index.php?title=Template:import/wc3/jass/Blizzard.j&action=raw"
|
||||
"config.patch"
|
||||
"libboost.patch"
|
||||
"common.j.patch"
|
||||
"Blizzard.j.patch")
|
||||
sha256sums=('SKIP'
|
||||
'5d933d698513800f19dcefe47e3640cb37df7d5330908e7424cb891381c6d812'
|
||||
'2f67fbb67bf19621c112bc41503627aadc995a9414312274956dadbacb520826'
|
||||
'94d0cf497aacd413f31ac512e8ebb3a71ace6c5646d55a1c77f78d56a11719a9'
|
||||
'e580248f186886a2633d96b2c538e036ff2021a21b97d775d1da5095852f8476'
|
||||
'066b48dc4966b9a367ebb76efb969248ad49dca8b188d5c79c1465a4d3605891'
|
||||
'67a388943cd00158e669a982caa5f5d4b2768b91341a3ed916700c10983ab59d'
|
||||
'69b4b5bbfc49bbf6863ab8ab0c5e253b33953ea61e8c45472159493270d3391f'
|
||||
'0e9f8c76879f5cee9a1edca1907bda190da124ccdee924de6cc0a965dbec0e76'
|
||||
'8e6dca297cf261ae33ad8428b233e2619a6ffdd3dc32b65743d74789c9802d16')
|
||||
|
||||
GHOSTDIR="trunk@602"
|
||||
|
||||
patch_once() {
|
||||
PATCHFILE="$(mktemp)"
|
||||
cat > "$PATCHFILE"
|
||||
|
||||
if ! patch --silent --force --reverse --dry-run $@ < "$PATCHFILE"; then
|
||||
patch --silent --force --forward $@ < "$PATCHFILE"
|
||||
return
|
||||
fi
|
||||
}
|
||||
|
||||
prepare() {
|
||||
cd "$srcdir"/
|
||||
cp common.j.orig common.j
|
||||
cp Blizzard.j.orig Blizzard.j
|
||||
|
||||
patch -p0 --force --forward common.j common.j.patch
|
||||
patch -p0 --force --forward Blizzard.j Blizzard.j.patch
|
||||
|
||||
cd "$srcdir"/"$GHOSTDIR"/
|
||||
patch_once -p0 < "$srcdir"/libboost.patch
|
||||
patch_once -p0 < "$srcdir"/config.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "$srcdir"/"$GHOSTDIR"/
|
||||
|
||||
(cd bncsutil/src/bncsutil/; make) # bncsutil
|
||||
(cd StormLib/stormlib/; make) # stormlib
|
||||
(cd ghost/; make) # ghost++ itself
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$srcdir"/"$GHOSTDIR"/
|
||||
|
||||
install -d "$pkgdir"/etc/ghostpp/
|
||||
install -d "$pkgdir"/etc/ghostpp/languages/
|
||||
install -d "$pkgdir"/usr/bin/
|
||||
install -d "$pkgdir"/usr/lib/
|
||||
install -d "$pkgdir"/usr/lib/systemd/system/
|
||||
install -d "$pkgdir"/usr/share/doc/ghostpp/
|
||||
install -d "$pkgdir"/usr/share/ghostpp/
|
||||
install -d "$pkgdir"/var/lib/ghostpp/maps/
|
||||
install -d "$pkgdir"/var/lib/ghostpp/mapcfgs/
|
||||
install -d "$pkgdir"/var/lib/ghostpp/replays/
|
||||
install -d "$pkgdir"/var/lib/ghostpp/savegames/
|
||||
|
||||
install -m755 ghost/ghost++ "$pkgdir"/usr/bin/
|
||||
install -m644 ../ghostpp.service "$pkgdir"/usr/lib/systemd/system/
|
||||
|
||||
install -m644 bncsutil/src/bncsutil/libbncsutil.so StormLib/stormlib/libStorm.so "$pkgdir"/usr/lib/
|
||||
install -m644 readme.txt "$pkgdir"/usr/share/doc/ghostpp/
|
||||
install -m644 ../game.dll ../Storm.dll ../war3.exe "$pkgdir"/usr/share/ghostpp/
|
||||
install -m644 ../common.j ../Blizzard.j "$pkgdir"/var/lib/ghostpp/mapcfgs/
|
||||
install -m644 mapcfgs/wormwar.cfg "$pkgdir"/var/lib/ghostpp/mapcfgs/
|
||||
install -m644 ip-to-country.csv "$pkgdir"/var/lib/ghostpp/
|
||||
|
||||
# configs
|
||||
install -m644 default.cfg "$pkgdir"/etc/ghostpp/ghost.cfg
|
||||
install -m644 ipblacklist.txt "$pkgdir"/etc/ghostpp/ipblacklist
|
||||
install -m644 gameloaded.txt "$pkgdir"/etc/ghostpp/gameloaded
|
||||
install -m644 gameover.txt "$pkgdir"/etc/ghostpp/gameover
|
||||
touch "$pkgdir"/etc/ghostpp/motd
|
||||
|
||||
# languages
|
||||
install -m644 language.cfg "$pkgdir"/etc/ghostpp/languages/english.cfg
|
||||
install -m644 language_german.cfg "$pkgdir"/etc/ghostpp/languages/german.cfg
|
||||
install -m644 language_russian.cfg "$pkgdir"/etc/ghostpp/languages/russian.cfg
|
||||
install -m644 language_spanish.cfg "$pkgdir"/etc/ghostpp/languages/spanish.cfg
|
||||
install -m644 language_turkish.cfg "$pkgdir"/etc/ghostpp/languages/turkish.cfg
|
||||
ln --relative --symbolic "$pkgdir"/etc/ghostpp/languages/english.cfg "$pkgdir"/etc/ghostpp/language.cfg
|
||||
}
|
||||
|
||||
# vim:set ts=2 sw=2 et:
|
||||
18
common.j.patch
Normal file
18
common.j.patch
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
--- common.j.orig 2014-03-31 13:52:43.483681151 +0200
|
||||
+++ common.j 2014-03-31 13:53:35.369580784 +0200
|
||||
@@ -1,8 +1,4 @@
|
||||
-<noinclude>Imported data for [[common.j]]</noinclude><includeonly>{{common.j article series}}
|
||||
-{{DISPLAYTITLE:common.j}}
|
||||
-{{JassSysSnip
|
||||
-| system=common.j
|
||||
-| code=<source lang="jass" line>//============================================================================
|
||||
+//============================================================================
|
||||
// Native types. All native functions take extended handle types when
|
||||
// possible to help prevent passing bad values to native functions
|
||||
//
|
||||
@@ -2420,4 +2416,3 @@
|
||||
native PreloadGenEnd takes string filename returns nothing
|
||||
native Preloader takes string filename returns nothing</source>
|
||||
}}
|
||||
-</includeonly>
|
||||
\ No newline at end of file
|
||||
62
config.patch
Normal file
62
config.patch
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
Index: default.cfg
|
||||
===================================================================
|
||||
--- default.cfg (revision 602)
|
||||
+++ default.cfg (working copy)
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
### the log file
|
||||
|
||||
-bot_log = ghost.log
|
||||
+bot_log = /dev/null
|
||||
|
||||
### the log method
|
||||
### set this to 1 to leave the log unlocked while GHost++ is running (may be slower, particularly on Windows)
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
### the language file
|
||||
|
||||
-bot_language = language.cfg
|
||||
+bot_language = /etc/ghostpp/language.cfg
|
||||
|
||||
### the path to your local Warcraft III directory
|
||||
### this path must contain war3.exe, storm.dll, and game.dll
|
||||
@@ -22,7 +22,7 @@
|
||||
### if this path contains War3Patch.mpq the bot will attempt to extract "Scripts\common.j" and "Scripts\blizzard.j" on startup and write them to bot_mapcfgpath (which is defined later in this file)
|
||||
### common.j and blizzard.j are only required for automatically calculating map_crc, you do not need them if your map config files already contain map_crc
|
||||
|
||||
-bot_war3path = C:\Program Files\Warcraft III
|
||||
+bot_war3path = /usr/share/ghostpp
|
||||
|
||||
### whether to act as Warcraft III: The Frozen Throne or not
|
||||
### set this to 0 to act as Warcraft III: Reign of Chaos (you WILL NOT need to enter a TFT cd key to login to battle.net)
|
||||
@@ -189,7 +189,7 @@
|
||||
|
||||
### the IP blacklist file
|
||||
|
||||
-bot_ipblacklistfile = ipblacklist.txt
|
||||
+bot_ipblacklistfile = /etc/ghostpp/ipblacklist
|
||||
|
||||
### automatically close the game lobby if a reserved player (or admin) doesn't join it for this many minutes
|
||||
### games which are set to automatically start when enough players join are exempt from this limit (e.g. autohosted games)
|
||||
@@ -231,18 +231,18 @@
|
||||
### the first 8 lines of this file will be displayed when a player joins the game
|
||||
### if this file doesn't exist a default MOTD will be used
|
||||
|
||||
-bot_motdfile = motd.txt
|
||||
+bot_motdfile = /etc/ghostpp/motd
|
||||
|
||||
### the gameloaded file
|
||||
### the first 8 lines of this file will be displayed when the game finished loading (after the player loading times are displayed)
|
||||
|
||||
-bot_gameloadedfile = gameloaded.txt
|
||||
+bot_gameloadedfile = /etc/ghostpp/gameloaded
|
||||
|
||||
### the gameover file
|
||||
### the first 8 lines of this file will be displayed when the game is over
|
||||
### this only works when using a stats class - note: at the time of this writing the only stats class is for DotA maps
|
||||
|
||||
-bot_gameoverfile = gameover.txt
|
||||
+bot_gameoverfile = /etc/ghostpp/gameover
|
||||
|
||||
### whether to send "local admin messages" or not
|
||||
### these messages are battle.net chat messages, whispers, and emotes which the bot receives and passes on to the "local admin"
|
||||
23
ghostpp.install
Normal file
23
ghostpp.install
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
#/bin/sh
|
||||
|
||||
# arg 1: the new package version
|
||||
post_install() {
|
||||
getent group ghostpp >/dev/null || groupadd ghostpp
|
||||
getent passwd ghostpp >/dev/null || useradd --system --home /var/lib/ghostpp --gid ghostpp ghostpp
|
||||
chown --recursive ghostpp:ghostpp /var/lib/ghostpp
|
||||
echo "==> You need to edit the config in /etc/ghostpp/ghost.cfg before using the bot"
|
||||
}
|
||||
|
||||
# arg 1: the new package version
|
||||
# arg 2: the old package version
|
||||
post_upgrade() {
|
||||
:
|
||||
}
|
||||
|
||||
# arg 1: the old package version
|
||||
post_remove() {
|
||||
userdel -f ghostpp >/dev/null 2>&1
|
||||
groupdel ghostpp >/dev/null 2>&1
|
||||
}
|
||||
|
||||
# vim:set ts=2 sw=2 ft=sh et:
|
||||
12
ghostpp.service
Normal file
12
ghostpp.service
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
[Unit]
|
||||
Description=GHost++, a Warcraft III hosting bot
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/ghost++ /etc/ghostpp/ghost.cfg
|
||||
KillSignal=SIGINT
|
||||
User=ghostpp
|
||||
WorkingDirectory=/var/lib/ghostpp
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
13
libboost.patch
Normal file
13
libboost.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
Index: ghost/Makefile
|
||||
===================================================================
|
||||
--- ghost/Makefile (revision 602)
|
||||
+++ ghost/Makefile (working copy)
|
||||
@@ -4,7 +4,7 @@
|
||||
CC = gcc
|
||||
DFLAGS = -DGHOST_MYSQL
|
||||
OFLAGS = -O3
|
||||
-LFLAGS = -L. -L../bncsutil/src/bncsutil/ -L../StormLib/stormlib/ -lbncsutil -lpthread -ldl -lz -lStorm -lmysqlclient_r -lboost_date_time-mt -lboost_thread-mt -lboost_system-mt -lboost_filesystem-mt
|
||||
+LFLAGS = -L. -L../bncsutil/src/bncsutil/ -L../StormLib/stormlib/ -lbncsutil -lpthread -ldl -lz -lStorm -lmysqlclient_r -lboost_date_time -lboost_thread -lboost_system -lboost_filesystem
|
||||
CFLAGS =
|
||||
|
||||
ifeq ($(SYSTEM),Darwin)
|
||||
Loading…
Add table
Reference in a new issue