This is a SourceMod extension that provides some methods for HTTP JSON and websocket communication
- Relies on IXWebSocket which is C++ library for WebSocket client and server development. It has minimal dependencies
- Support TEXT and JSON data
- Support client and server
- Support permessage-deflate
- Support SSL
- Support x64
- Support Proxy (HTTP/SOCKS5)
- Support HTTP RESTful API with JSON and form data
- sm-ext-json - Optional. Required only for JSON-related features. If not installed, TEXT-based WebSocket communication and non-JSON HTTP features will still work
- For Linux users - Required: SSL/TLS support requires OpenSSL development packages
- For x64:
libssl-dev - For x86:
libssl-dev:i386
- For x64:
- (Optional) If you need JSON functionality, download and install sm-ext-json first
- Download this extension from sm-ext-websocket
- Extract the files to your SourceMod directory
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install clang g++-multilib libssl-dev libssl-dev:i386
git clone --recursive https://github.com/ProjectSky/sm-ext-websocket.git
cd sm-ext-websocket
mkdir build && cd build
python ../configure.py --enable-optimize --symbol-files --sm-path=YOU_SOURCEMOD_PATH --targets=x86,x64
ambuild- WebSocket server support
- Windows support
- HTTP support
- Use sourcemod extension interface for JSON functionality instead of bundling json library
- Allow JSON library as an optional dependency
- TLS/SSL configuration API
- Proxy support
- Include IXWebSocket and libz via git submodules
- Server will not process data during the hibernation. You can set sv_hibernate_when_empty to 0 to disable hibernation
- This extension uses a forked version of IXWebSocket with significant core modifications to support new features (proxy, connection pooling, statistics, timeouts, etc.). The upstream IXWebSocket library is not compatible with this extension