Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iswenzz/gsclib
gsclib acts as a standard library extension for the Call of Duty 4 scripting language.
https://github.com/iswenzz/gsclib
c cgsc cod4 gsc libcurl libzip mysql pcre2 standard
Last synced: 25 days ago
JSON representation
gsclib acts as a standard library extension for the Call of Duty 4 scripting language.
- Host: GitHub
- URL: https://github.com/iswenzz/gsclib
- Owner: Iswenzz
- License: gpl-3.0
- Created: 2019-10-08T19:44:40.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-09-22T20:32:13.000Z (about 2 months ago)
- Last Synced: 2024-10-14T02:01:14.242Z (25 days ago)
- Topics: c, cgsc, cod4, gsc, libcurl, libzip, mysql, pcre2, standard
- Language: C
- Homepage: https://iswenzz.com
- Size: 7.76 MB
- Stars: 39
- Watchers: 2
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# gsclib
[![Checks](https://img.shields.io/github/check-runs/Iswenzz/gsclib/master?logo=github)](https://github.com/Iswenzz/gsclib/actions)
[![CodeFactor](https://img.shields.io/codefactor/grade/github/Iswenzz/gsclib?label=codefactor&logo=codefactor)](https://www.codefactor.io/repository/github/iswenzz/gsclib)
[![License](https://img.shields.io/github/license/Iswenzz/gsclib?color=blue&logo=gitbook&logoColor=white)](https://github.com/Iswenzz/gsclib/blob/master/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
- [HTTP/HTTPS Client](https://github.com/Iswenzz/gsclib/blob/master/docs/http.md)
- [FTP/FTPS/SFTP Client](https://github.com/Iswenzz/gsclib/blob/master/docs/ftp.md)
- [Regular Expression (PCRE2)](https://github.com/Iswenzz/gsclib/blob/master/docs/regex.md)
- [Language Integrated Query (Linq)](https://github.com/Iswenzz/gsclib/blob/master/docs/linq.md)
- [MySQL](https://github.com/Iswenzz/gsclib/blob/master/docs/mysql.md)
- [Critical Sections](https://github.com/Iswenzz/gsclib/blob/master/docs/critical.md)
- [Utilities](https://github.com/Iswenzz/gsclib/blob/master/docs/utility.md)
- [File](https://github.com/Iswenzz/gsclib/blob/master/docs/file.md)
- [System](https://github.com/Iswenzz/gsclib/blob/master/docs/system.md)
- [Zip](https://github.com/Iswenzz/gsclib/blob/master/docs/zip.md)
- [Player](https://github.com/Iswenzz/gsclib/blob/master/docs/player.md)
- [Math](https://github.com/Iswenzz/gsclib/blob/master/docs/math.md)## Instructions
In order to use this library, you'll need to compile the binary and place it to the CoD4 `plugins` directory.
Then you can simply use `loadplugin gsclib` in your `server.cfg` or as CLI arguments.To initialize gsclib library you need to call `GSCLIB_Init()` at the start of your mod entry point.
```c
main()
{
GSCLIB_Init();
}
```## Server
1. Edit plugin_handler.h then recompile the server with a clean obj directory:
```c
#define MAX_SCRIPTFUNCTIONS 256
```## Building (Linux)
_Pre-Requisites:_
1. [CGSC](https://github.com/Iswenzz/CGSC) and it's pre-requisites.
2. [CMake](https://cmake.org/) and [vcpkg](https://vcpkg.io/en/)._Build Command:_
mkdir build && cd build
cmake .. --preset linux
cmake --build .## Building (Windows)
_Pre-Requisites:_
1. [CGSC](https://github.com/Iswenzz/CGSC) and it's pre-requisites.
2. [CMake](https://cmake.org/) and [vcpkg](https://vcpkg.io/en/)._Build Command:_
mkdir build && cd build
cmake .. --preset windows
cmake --build .## [Download](https://github.com/Iswenzz/gsclib/releases)
## Troubleshouting
For resolving missing dependencies you can use the [ldd](https://man7.org/linux/man-pages/man1/ldd.1.html) command for Linux, and [Dependency Walker](https://www.dependencywalker.com/) 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.