Skip to content
/ gsclib Public

gsclib acts as a standard library extension for the Call of Duty 4 scripting language.

License

Notifications You must be signed in to change notification settings

Iswenzz/gsclib

Repository files navigation

gsclib

Checks CodeFactor License

gsclib acts as a standard library extension for the Call of Duty 4 scripting language. The features this library provides consists of an FTP/FTPS/SFTP client, an HTTP/HTTPS client, Regular Expression (PCRE2) support, Language Integrated Query (Linq) support, a MySQL connector for databases, casting/type conversion/fmt and other type utilities, ZIP files, async workers, and much more. More detailed information on each feature can be found in the documentation section.

Features & Documentation

Instructions

In order to use this library, just download the archived file down below, and extract it to the Call of Duty 4X plugins/gsclib directory.

Building (Linux)

Pre-Requisites:

  1. Edit plugin_handle.h then recompile the server with an empty obj directory:
#define MAX_SCRIPTFUNCTIONS 256
  1. CGSC and it's pre-requisites.
  2. CMake and Conan.

Build Command:

conan remote add iswenzz-conan https://iswenzz.jfrog.io/artifactory/api/conan/iswenzz-conan
mkdir build && cd build
conan install .. --build missing --profile:host ../.conan/linux_host.conf --profile:build ../.conan/linux_build.conf
cmake ..
cmake --build .

Building (Windows)

Pre-Requisites:

  1. Edit plugin_handle.h and recompile your server:
#define MAX_SCRIPTFUNCTIONS 256
  1. CGSC and it's pre-requisites.
  2. CMake and Conan.
  3. Visual Studio with Clang toolset.

Using the Developer Command Prompt for Visual Studio Build Command:

scripts/build_libcom.bat
conan remote add iswenzz-conan https://iswenzz.jfrog.io/artifactory/api/conan/iswenzz-conan
mkdir build && cd build
conan install .. --build missing --profile ../.conan/windows.conf
cmake .. -A Win32 -T ClangCL
cmake --build .

Note: VCPKG integration need to be disabled vcpkg integration remove.

Troubleshouting

For resolving missing dependencies you can use the ldd command for Linux, and Dependency Walker for Windows.

Contributors:

Note: If you would like to contribute to this repository, feel free to send a pull request, and I will review your code. Also feel free to post about any problems that may arise in the issues section of the repository.