update docs and add details on proudnet version
This commit is contained in:
parent
7834b98bf0
commit
af36074fed
5 changed files with 115 additions and 3 deletions
31
third-party/README.md
vendored
31
third-party/README.md
vendored
|
|
@ -95,6 +95,37 @@ ProudNet is not a separate DLL; it is linked into the server EXEs.
|
|||
- To re-fetch:
|
||||
`git archive ProudNetLibSetup-1.8.00001 ProudNet/include ProudNet-License-En.txt`
|
||||
from that repo into `_local/proudnet-1.8.00001/`.
|
||||
- **`github.com/Nettention/ProudChatSDK` (checked 2026-10-15, `main` = tag
|
||||
`1.1.0001`, commit `e0d9d6b8`).**
|
||||
- **Contents:** bundles ProudNet **1.8.58849**: 185 headers, plus prebuilt
|
||||
libraries for Windows (v110/v120/v140, dll), Android, iOS and
|
||||
**x86_64 Linux** (`libProudNetServer.so/.a`, `libProudNetClient.so/.a`;
|
||||
`__xstat` → old glibc).
|
||||
- **Licence:** the repo's `LICENSE` (MIT) covers the chat SDK only;
|
||||
`ProudNet/` keeps the same proprietary EULA (§1.2b). Nothing from it is
|
||||
stored in this repo.
|
||||
- **Headers:** identical to 1.8.00001 apart from the version banner and
|
||||
translated doc comments in `ErrorType.h`. They add one error code and give
|
||||
no new information beyond `_local/proudnet-1.8.00001`.
|
||||
- **Compatibility with the 2013 ProudNet linked into DBCServer:**
|
||||
|
||||
| Aspect | Result | Type |
|
||||
|---|---|---|
|
||||
| PIDL proxy ABI | Matches: `IRmiProxy` keeps `m_signature` at +0x14, which the generated constructor checks against 1 (`MS:0x140008e20`). `RmiID` is still `uint16_t`. The `PIDL compiler is incompatible` and `CStartServerParameter::m_(fast)encryptedMessageKeyLength` strings appear in both | O |
|
||||
| Internal implementation | 29 of DBCServer's 63 `Proud::` RTTI classes are absent from the 1.8.58849 Linux libraries' symbols, e.g. `CTcpLayer_C`, `CUdpSocket_S`, `CUpnp`, `ICompletionPortEventSink` | O |
|
||||
| Internal net version | **2013 build: 196978 (0x30172)**, the global at `DBC:0x140344d40`. It is copied into the server object at +0x220 (`DBC:0x14018fa70`, instruction at `0x14019018d`) and into the client objects (`0x1401dd3e0`, `0x1401df000`). In the connect handshake (`DBC:0x1401a8110`, `NotifyServerConnectionRequestData`) the server reads a credential byte array, a 16-byte protocol GUID and a 4-byte int, and accepts only if the GUID **and** the int equal its own. The same value appears exactly once in `.data` of all 16 EXEs (O). **1.8.58849: 197144 (0x30218)** (`CNetConfig::InternalNetVersion`, rejected via `NotifyProtocolVersionMismatch`). The values differ by 166 | O |
|
||||
| Licensing | 1.8 also contains license and activation checks (`CPNLic`, `NotifyLicenseMismatch`) | S |
|
||||
|
||||
- **Conclusion (I):**
|
||||
- **Source-level:** usable as a header/ABI reference for PIDL-generated
|
||||
stubs and proxies.
|
||||
- **Wire-level:** **not** compatible with the original 2013 peers. The
|
||||
internal net versions differ (196978 vs 197144), and the 2013 handshake
|
||||
requires an exact match. This is O for the 2013 server side; I for the
|
||||
1.8 side, which was not traced beyond the symbol name.
|
||||
- **Linking:** linking `libProudNetServer.so` into `src/dbc_server`
|
||||
would require accepting the EULA and a licence, and would give a
|
||||
ProudNet 1.8 server that the original binaries likely cannot talk to.
|
||||
|
||||
Vendor attributions for XTrap (WiseLogic) and Apex are inferred from DLL
|
||||
names, not corroborated by decompilation.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue