Skip to content

Commit f35d538

Browse files
committed
README: add info for SSL and compression support
1 parent 60b6aed commit f35d538

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

README.md

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ C++ Archipelago multiworld randomizer client library. See [archipelago.gg](https
3737
* use `Bounce` to send a bounce (deathlink, ...)
3838
* use `Get`, `Set` and `SetNotify` to access data storage api,
3939
see [Archipelago network protocol](https://github.com/ArchipelagoMW/Archipelago/blob/main/docs/network%20protocol.md#get)
40-
* by default we now use the shared data package cache in %LocalAppData%/Archipelago/Cache or ~/.cache/Archipelago.
40+
* by default, we now use the shared data package cache in %LocalAppData%/Archipelago/Cache or ~/.cache/Archipelago.
4141
This can be changed by passing a custom APDataPackageStore into APClient.
4242
* when upgrading from 0.3.8 or older
4343
* remove calls to `save_data_package` and don't save data package in `set_data_package_changed_handler`
@@ -66,19 +66,29 @@ Use
6666
* `AP_PREFER_UNENCRYPTED` try unencrypted connection first. Only useful for testing.
6767
* `WSWRAP_SEND_EXCEPTIONS` to get exceptions when a send fails.
6868
* `WSWRAP_NO_SSL` to disable SSL support. Only recommended for testing.
69+
* `WSWRAP_NO_COMPRESSION` to disable compression. Only recommended for testing.
6970

7071

7172
## When using Visual Studio for building
7273

7374
* follow steps mentioned above
7475
* Set up Additional Include Directories for the dependencies
75-
* project properties -> C/C++ -> General -> Additional Include Directories
76+
* Project Properties -> C/C++ -> General -> Additional Include Directories
7677
* Add subprojects\asio\include
7778
* Add subprojects\websocketpp
7879
* Add subprojects\wswrap\include
7980
* Add subprojects\json\include
8081
* Add subprojects\valijson\include
8182
(unless disabled, see [Build Configuration](#build-configuration))
83+
* Add openssl and zlib include directories if required (SSL and compression support)
84+
* Set up Additional Link Libraries for openssl and zlib
85+
* Optional: Configuration Properties -> Linker -> General -> Additional Library Directories
86+
* Add folder where `libcrypto_*.lib` and `libssl_*.lib` are (for SSL support)
87+
* Add folder where `libz.lib` is (for compression support)
88+
* Configuration Properties -> Linker -> Input -> Additional Dependencies
89+
* Add `libcrypto_*.lib` and `libssl_*.lib` (for SSL support)
90+
* Add `libz.lib` (for compression support)
91+
* Alternatively use `#pragma comment(lib, "lib_name")` in any cpp file if Library Directories are set correctly
8292
* Add `/Zc:__cplusplus` to the command line
8393
* project properties -> C/C++ -> Command Line -> Additional Options
8494
* Add `_WIN32_WINNT=0x0600` (or higher) to Preprocessor Definitions
@@ -127,6 +137,13 @@ To add SSL/wss support on desktop, the following steps are required:
127137
outdated Windows has outdated certs, macos/Linux without OpenSSL or with a different version won't find any certs
128138

129139

140+
## Compression Support
141+
142+
To enable "permessage-deflate" compression support on desktop, update wswrap to 1.03.00 or newer and link with libz.
143+
144+
Context takeover is not supported.
145+
146+
130147
## Callbacks
131148

132149
Use `set_*_handler(callback)` to set callbackes.

0 commit comments

Comments
 (0)