V tejto téme vysvetlím, ako pripraviť a skompilovať RCBot2 pre Linux aj Windows.

Teraz, aby ste to urobili, budete potrebovať Python 3, Git a tiež kompilátory (GCC 5+ a Clang pre Linux) a súpravu kompilátorov MSVC z Visual Studio 2015 alebo novšej. Budete tiež potrebovať hlavičky HL2SDK, SourceMod a Metamod, ktoré sú k dispozícii z môjho úložiska Github.

Príprava:-

Než začnete, budete si musieť prečítať túto dokumentáciu z wiki stránky AlliedMods, aby ste ju mohli správne zostaviť. Nájdete tu požiadavky a nástroje, ktoré budete potrebovať k inštalácii. (Python 2 je teraz EOLed a odpisovaný, takže možno najlepšie je nainštalovať Python 3.)

https://wiki.alliedmods.net/Building_SourceMod

Inštalácia Linux AMBuild:-

Teraz, aby ste mohli používať a inštalovať AMBuild, budete musieť načítať Linux Terminal Shell a zadať to a získať AMBuild:-

(Pre distribúcie mincov Debian, Ubuntu a Linux)

Code:
$ sudo apt install python python-clang python-pip git gcc g++ clang clang++
Ak chcete získať AMBuild:-

Code:
$ sudo git clone https://github.com/alliedmodders/ambuild
$ sudo pip install ./ambuild
Tip: Pre nováčikov Linuxu, ktorí uviaznu, ak chcete, aby sa váš terminál vrátil späť do typu priečinka `cd ..`. Odporúča sa nepoužívať ani sa prihlásiť ako užívateľ root.

Teraz, keď používate RCBot2, môžete použiť buď `$ sudo git clone https: // github.com/APGRoboCop/rcbot2` alebo si odtiaľ stiahnite zdrojový kód.

Po stiahnutí kódu RCBot2 src vytvorte priečinok s názvom „build“ v hlavnom priečinku /rcbot zadaním `mkdir build` alebo ak používate Linux Mint s Cinnamon Desktop, kliknite pravým tlačidlom myši na okno priečinka /rcbot a kliknite na [Vytvoriť nový priečinok] a pomenujte ho „build“

Click image for larger version. 

Name:	rcbot1.jpg 
Views:	298 
Size:	59.0 KB 
ID:	197

Táto metóda je jednoduchšia a vyžaduje menej kliknutí, ako by ste museli zadávať adresár pre položky like `cd /rcbot2 /build` alebo celý adresár atď:-

Click image for larger version. 

Name:	rcbot2.jpg 
Views:	315 
Size:	50.9 KB 
ID:	198

Kompilácia v systéme Linux:-

Teraz povedzme napríklad, že chcete skompilovať RCBot2 pre TF2 debug build, čo musíte urobiť, zadajte to do terminálu umiestneného v /rcbot2 /build takto:-

Code:
$ python3 ../configure.py -s tf2 --mms_path ./alliedmodders/metamod-source --hl2sdk-root ./alliedmodders --sm-path ./alliedmodders/sourcemod --enable-debug
$ ambuild
A dúfajme, že balíček RCBot2 je zostavený a pripravený!

Riešenie problémov: Ak nemôžete AMBuild správne kompilovať alebo lokalizovať SDK, skúste napísať úplnú adresu adresára, napríklad:

Code:
$ python3 ../configure.py -s tf2 --mms_path /home/desktop/Dropbox/src/rcbot2/alliedmodders/metamod-source --hl2sdk-root /home/desktop/Dropbox/src/rcbot2/alliedmodders --sm-path /home/desktop/Dropbox/src/rcbot2/alliedmodders/sourcemod --enable-debug
Inštalácia Windows AMBuild:-

https://wiki.alliedmods.net/Ambuild

Teraz, aby ste mohli použiť inštaláciu AMBuild, budete musieť nainštalovať Visual Studio 2015 alebo novší. Spôsob získania AMBuild z gitu je podobný ako `git clone https: // github.com/alliedmodders/ambuild` a `pip install./ambuild` ale ako ste si všimli, že „sudo“ sa nepoužíva, pretože je to hlavne pre Linux.

Aby ste však mohli nainštalovať Python 3 a nechať ho načítať priamo z programu Visual Studio Developer PowerShell, môžete si nainštalovať Chocolatey alebo Scoop. Osobne z mojej strany mal balík Python 3 z MS Store niekoľko nedostatkov v oprávneniach, ktoré sťažujú načítanie a spúšťanie súborov .py v Pythone 3.

https://scoop.sh/
https://chocolatey.org/

Ale pre tento tutoriál vám ukážem používanie Scoopu. Jednoducho prejdite do ponuky Štart, nájdite a vyberte položku [Developer PowerShell for VS]. Po otvorení prostredia PowerShell zadajte tieto údaje do konzoly:

Code:
PS C:\> iwr -useb get.scoop.sh | iex
PS C:\> Set-ExecutionPolicy RemoteSigned -scope CurrentUser
(Potom zadajte [Y] na Áno)
Code:
PS C:\> scoop install git python
Našťastie sa Git aj Python nainštalujú správne. Týmto spôsobom môžete nainštalovať AMBuild takto:-

Code:
PS C:\> git clone https://github.com/alliedmodders/ambuild
PS C:\> pip install ./ambuild
Kompilácia v systéme Windows:-

A teraz by mal byť pripravený na kompilovanie kódu RCBot2 src, ale rovnako ako predtým v kroku kompilácie Linuxu sa môžete stretnúť s problémami pri riešení problémov. Aby ste ich obmedzili na minimum, postupujte podľa týchto krokov. Napíšte `cd` a adresu priečinka, napríklad ak ste dostali kód RCBot2 src stiahnutý z druhého pevného disku alebo USB flash disku - ak nie, a z jednotky C: \, druhý riadok ignorujte, ak áno: -

Code:
PS C:\> cd E:\rcbot2-master\build
PS C:\> e:
Nezabudnite vytvoriť /vytvoriť priečinok v /rcbot2. Teraz povedzme napríklad, že chcete skompilovať RCBot2 pre TF2 debug build, čo musíte urobiť, zadajte to do terminálu umiestneného v /rcbot2 /build takto:-

Code:
PS E:\rcbot2-master\build python3 ../configure.py -s tf2 --mms_path ./alliedmodders/metamod-source --hl2sdk-root ./alliedmodders --sm-path ./alliedmodders/sourcemod --enable-debug
PS E:\rcbot2-master\build ambuild
A dúfajme, že balíček RCBot2 pre Windows je zostavený a pripravený!

Riešenie problémov: Ak nemôžete AMBuild kompilovať pomocou Developer PowerShell alebo správne vyhľadať súpravy SDK, skúste napísať úplnú adresu adresára, napríklad:

Code:
PS E:\rcbot2-master\build python3 ../configure.py -s tf2 --mms_path E:/rcbot2-master/alliedmodders/metamod-source --hl2sdk-root E:/rcbot2-master/alliedmodders --sm-path E:/rcbot2-master/alliedmodders/sourcemod --enable-debug
Ak sa vám zdá, že vývojár PowerShell na vašej strane nefunguje, môžete skúsiť použiť [príkazový riadok pre vývojárov pre VS] a zistiť, či sa s touto aplikáciou bude lepšie kompilovať. Temnejšou stránkou tejto aplikácie je, že ju určite budete musieť použiť `cd E:` pretože PowerShell vás viac -menej automaticky znova priradí do tohto cieľového priečinka a že si nezachová nevybavené príkazy, ktoré ste zadali, keď skončíte s príkazovým riadkom vývojára.

A než zabudnem, nezabudnite udržiavať AMBuild a Python 3 aktuálne. Ak chcete, aby bol Python 3 aktuálny, stačí napísať `lopatková aktualizácia *` aby boli balíky aktuálne. Počítače Linux ako Debian alebo Ubuntu samozrejme vyžadujú písanie `sudo apt update` nasledovaný `sudo apt upgrade`.