Trong chủ đề này, tôi sẽ giải thích cách chuẩn bị và biên dịch RCBot2 cho cả Linux và Windows.

Bây giờ để làm điều này, bạn sẽ yêu cầu Python 3, Git cũng như các trình biên dịch (GCC 5+ và Clang cho Linux) và bộ biên dịch MSVC từ Visual Studio 2015 hoặc mới hơn. Và bạn cũng sẽ cần có các tiêu đề HL2SDK, SourceMod và Metamod được cung cấp từ Kho lưu trữ Github của tôi.

Sự chuẩn bị:-

Trước khi bắt đầu, bạn cần đọc tài liệu này từ trang wiki của AlliedMods để biên dịch đúng cách. Bạn sẽ tìm thấy các yêu cầu và công cụ bạn sẽ cần để cài đặt. (Python 2 hiện đã được EOLed và mất giá, vì vậy tốt nhất có thể cài đặt Python 3)

https://wiki.alliedmods.net/Building_SourceMod

Cài đặt Linux AMBuild: -

Bây giờ để sử dụng và cài đặt AMBuild, bạn sẽ cần tải Linux Terminal Shell và nhập vào đó và để tải AMBuild: -

(Dành cho Debian, Ubuntu và Linux Mint Distros)

Code:
$ sudo apt install python python-clang python-pip git gcc g++ clang clang++
Để có được AMBuild: -

Code:
$ sudo git clone https://github.com/alliedmodders/ambuild
$ sudo pip install ./ambuild
Gợi ý: Đối với những tân binh Linux gặp khó khăn nếu bạn muốn Thiết bị đầu cuối của mình quay trở lại một loại thư mục `cd .. '. Bạn không nên sử dụng hoặc đăng nhập với tư cách người dùng root.

Bây giờ để sử dụng RCBot2, bạn có thể sử dụng `$ sudo git clone https: // github.com / APGRoboCop / rcbot2` hoặc tải xuống mã nguồn trực tiếp từ đó.

Khi bạn đã tải xuống mã src RCBot2, hãy tạo một thư mục có tên "build" trong thư mục main / rcbot bằng cách gõ `mkdir build` hoặc nếu bạn sử dụng Linux Mint với Cinnamon Desktop, chỉ cần nhấp chuột phải vào cửa sổ thư mục / rcbot và nhấp vào [Tạo Thư mục Mới] và đặt tên là "bản dựng"

Click image for larger version. 

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

Phương pháp này dễ dàng hơn và yêu cầu ít nhấp chuột hơn so với việc phải nhập thư mục để thích `cd / rcbot2 / build` hoặc thư mục đầy đủ, v.v.: -

Click image for larger version. 

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

Biên dịch trong Linux: -

Bây giờ, giả sử bạn muốn biên dịch RCBot2 cho bản dựng gỡ lỗi TF2, những gì bạn cần làm là nhập mã này vào Terminal nằm trong / rcbot2 / build như thế này: -

Code:
$ python3 ../configure.py -s tf2 --mms_path ./alliedmodders/metamod-source --hl2sdk-root ./alliedmodders --sm-path ./alliedmodders/sourcemod --enable-debug
$ ambuild
Và hy vọng, gói RCBot2 đã được biên dịch và sẵn sàng!

Xử lý sự cố: Nếu bạn không thể yêu cầu AMBuild biên dịch hoặc định vị SDK đúng cách, hãy thử nhập địa chỉ thư mục đầy đủ như ví dụ:

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
Cài đặt Windows AMBuild: -

https://wiki.alliedmods.net/Ambuild

Bây giờ để sử dụng cài đặt AMBuild, bạn sẽ cần cài đặt Visual Studio 2015 trở lên. Cách lấy AMBuild từ git tương tự như `git clone https: // github.com / alliedmodders / ambuild``pip cài đặt. / ambuild` nhưng như bạn nhận thấy rằng "sudo" không được sử dụng vì nó chủ yếu dành cho Linux.

Nhưng trước đó để cài đặt Python 3 và tải trực tiếp từ Visual Studio Developer PowerShell, bạn có thể cài đặt Chocolatey hoặc Scoop. Theo cá nhân tôi, gói Python 3 từ MS Store có một số lỗi đặc quyền khiến Python 3 khó tải và thực thi các tệp .py.

https://scoop.sh/
https://chocolaty.org/

Nhưng đối với hướng dẫn này, tôi sẽ chỉ cho bạn cách sử dụng Scoop. Chỉ cần vào Start Menu, tìm và chọn [Developer PowerShell cho VS]. Khi bạn đã mở PowerShell, hãy nhập chúng vào bảng điều khiển:

Code:
PS C:\> iwr -useb get.scoop.sh | iex
PS C:\> Set-ExecutionPolicy RemoteSigned -scope CurrentUser
(Nhập [Y] cho Có sau đó)
Code:
PS C:\> scoop install git python
Hy vọng rằng cả Git và Python sẽ cài đặt đúng cách. Bằng cách đó, bạn có thể cài đặt AMBuild như vậy: -

Code:
PS C:\> git clone https://github.com/alliedmodders/ambuild
PS C:\> pip install ./ambuild
Biên dịch trong Windows: -

Và bây giờ nó đã sẵn sàng để mã RCBot2 src được biên dịch, nhưng giống như trước đây từ bước Biên dịch Linux, bạn có thể gặp phải một số vấn đề Khắc phục sự cố. Vì vậy, để giữ những điều đó ở mức tối thiểu, hãy làm theo các bước đó. Kiểu `cd` và Địa chỉ thư mục như thế này, chẳng hạn nếu bạn nhận được mã RCBot2 src được tải xuống từ ổ cứng thứ hai hoặc ổ đĩa flash USB - nếu không và từ ổ C: \, hãy bỏ qua dòng thứ hai nếu có: -

Code:
PS C:\> cd E:\rcbot2-master\build
PS C:\> e:
Đừng quên tạo / xây dựng thư mục trong / rcbot2. Bây giờ, giả sử bạn muốn biên dịch RCBot2 cho bản dựng gỡ lỗi TF2, những gì bạn cần làm là nhập mã này vào Terminal nằm trong / rcbot2 / build như thế này: -

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
Và hy vọng, gói RCBot2 dành cho Windows đã được biên dịch và sẵn sàng!

Xử lý sự cố: Nếu bạn không thể sử dụng AMBuild để biên dịch bằng Developer PowerShell hoặc định vị SDK đúng cách, hãy thử nhập địa chỉ thư mục đầy đủ như ví dụ:

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
Ngoài ra, nếu Developer PowerShell dường như không hoạt động với phía bạn, bạn có thể thử sử dụng [Developer Command Prompt cho VS] để xem liệu nó có biên dịch tốt hơn với ứng dụng này hay không. Nhược điểm của ứng dụng này là bạn chắc chắn sẽ cần sử dụng `cd E: ' vì PowerShell ít nhiều sẽ tự động chỉ định lại bạn vào thư mục đích đó và nó sẽ không lưu lại các lệnh bạn đã nhập khi kết thúc với Dấu nhắc lệnh dành cho nhà phát triển.

Và trước khi tôi quên, hãy nhớ cập nhật AMBuild và Python 3. Để giữ cho Python 3 được cập nhật, chỉ cần nhập `cập nhật tin sốt dẻo * ' để giữ cho các gói được cập nhật. Tất nhiên, đối với Máy tính Linux như Debian hoặc Ubuntu yêu cầu nhập `sudo apt update` theo dõi bởi `nâng cấp apt sudo`.