my ubuntu server seems to be unable to install any mods from the workshop (see screenshot). Even if I omit the "-mods" command line parameter it can't even download the UWE Extension. What am I missing here?
Any help much appreciated.
wget and curl can resolve the URL without any problem, only ns2 fails.
ns2server@ns2:~/server1$ curl -v https://steamusercontent-a.akamaihd.net/ugc/941711257965574338/9B175609D5EAA9D7010F4D44AE34CFD6AE40A9D9/
* Trying 72.247.178.154...
* Connected to steamusercontent-a.akamaihd.net (72.247.178.154) port 443 (#0)
* found 148 certificates in /etc/ssl/certs/ca-certificates.crt
* found 592 certificates in /etc/ssl/certs
* ALPN, offering http/1.1
* SSL connection using TLS1.2 / ECDHE_ECDSA_AES_256_GCM_SHA384
* server certificate verification OK
* server certificate status verification SKIPPED
* common name: a248.e.akamai.net (matched)
* server certificate expiration date OK
* server certificate activation date OK
* certificate public key: EC
* certificate version: #3
* subject: C=US,ST=Massachusetts,L=Cambridge,O=Akamai Technologies\, Inc.,CN=a248.e.akamai.net
* start date: Thu, 18 Oct 2018 00:00:00 GMT
* expire date: Fri, 18 Oct 2019 12:00:00 GMT
* issuer: C=US,O=DigiCert Inc,CN=DigiCert ECC Secure Server CA
* compression: NULL
* ALPN, server accepted to use http/1.1
> GET /ugc/941711257965574338/9B175609D5EAA9D7010F4D44AE34CFD6AE40A9D9/ HTTP/1.1
> Host: steamusercontent-a.akamaihd.net
> User-Agent: curl/7.47.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Length: 3252
< Content-Type: application/octet-stream
< Content-MD5: w/h1wXRNjQRKNCxL6kO2gw==
< Last-Modified: Thu, 15 Nov 2018 09:01:34 GMT
< Accept-Ranges: bytes
< ETag: "0x8D64AD8F18CF5F9"
< Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
< x-ms-request-id: 14f8c57f-e01e-0111-0fc1-7cd063000000
< x-ms-version: 2017-04-17
< x-ms-lease-status: unlocked
< x-ms-lease-state: available
< x-ms-blob-type: BlockBlob
< Content-Disposition: inline; filename*=UTF-8''Published_ContentsBeingPublished.zip;
< x-ms-server-encrypted: true
< Access-Control-Allow-Origin: *
< Date: Fri, 12 Apr 2019 13:58:12 GMT
< Connection: keep-alive
EDIT:
Answer from discord:
>Duck\ on\ Venus_01/12/2019
I finally found what's going wrong.
It does is some problem related with CA.
I met this issue because I was calling the server_linux outside the x64 folder.
When initializing, libcurl will check your CWD for a valid CA bundle file (cacert.pem). By default, ns2server ships one cacert.pem file in x64 folder. So if you are calling the server binary inside x64 folder, it will be fine. But if you calling the server binary outside x64 folder, and there is no valid cacert.pem file under your current working directory, the libcurl will fail to load the CA bundle, and when downloading something from HTTPS link, "cURL error (77): Problem with the SSL CA cert" shows up.
To solve it, either invoke server_linux from x64 folder, where has a CA bundle file cacert.pem, or to copy cacert.pem to your CWD.
Comments
Do you know where ns2 reads the ssl ca cert path from? Environment variable?
EDIT:
This is what I get when I run curl -v on the url that the server tries to download the mods from:
Everything seems to be fine with my ssl certificates.
When launching the server with x64/linux_server, i get the following error in console:
wget and curl can resolve the URL without any problem, only ns2 fails.
* Trying 72.247.178.154...
* Connected to steamusercontent-a.akamaihd.net (72.247.178.154) port 443 (#0)
* found 148 certificates in /etc/ssl/certs/ca-certificates.crt
* found 592 certificates in /etc/ssl/certs
* ALPN, offering http/1.1
* SSL connection using TLS1.2 / ECDHE_ECDSA_AES_256_GCM_SHA384
* server certificate verification OK
* server certificate status verification SKIPPED
* common name: a248.e.akamai.net (matched)
* server certificate expiration date OK
* server certificate activation date OK
* certificate public key: EC
* certificate version: #3
* subject: C=US,ST=Massachusetts,L=Cambridge,O=Akamai Technologies\, Inc.,CN=a248.e.akamai.net
* start date: Thu, 18 Oct 2018 00:00:00 GMT
* expire date: Fri, 18 Oct 2019 12:00:00 GMT
* issuer: C=US,O=DigiCert Inc,CN=DigiCert ECC Secure Server CA
* compression: NULL
* ALPN, server accepted to use http/1.1
> GET /ugc/941711257965574338/9B175609D5EAA9D7010F4D44AE34CFD6AE40A9D9/ HTTP/1.1
> Host: steamusercontent-a.akamaihd.net
> User-Agent: curl/7.47.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Length: 3252
< Content-Type: application/octet-stream
< Content-MD5: w/h1wXRNjQRKNCxL6kO2gw==
< Last-Modified: Thu, 15 Nov 2018 09:01:34 GMT
< Accept-Ranges: bytes
< ETag: "0x8D64AD8F18CF5F9"
< Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
< x-ms-request-id: 14f8c57f-e01e-0111-0fc1-7cd063000000
< x-ms-version: 2017-04-17
< x-ms-lease-status: unlocked
< x-ms-lease-state: available
< x-ms-blob-type: BlockBlob
< Content-Disposition: inline; filename*=UTF-8''Published_ContentsBeingPublished.zip;
< x-ms-server-encrypted: true
< Access-Control-Allow-Origin: *
< Date: Fri, 12 Apr 2019 13:58:12 GMT
< Connection: keep-alive
EDIT:
Answer from discord:
>Duck\ on\ Venus_01/12/2019
I finally found what's going wrong.
It does is some problem related with CA.
I met this issue because I was calling the server_linux outside the x64 folder.
When initializing, libcurl will check your CWD for a valid CA bundle file (cacert.pem). By default, ns2server ships one cacert.pem file in x64 folder. So if you are calling the server binary inside x64 folder, it will be fine. But if you calling the server binary outside x64 folder, and there is no valid cacert.pem file under your current working directory, the libcurl will fail to load the CA bundle, and when downloading something from HTTPS link, "cURL error (77): Problem with the SSL CA cert" shows up.
To solve it, either invoke server_linux from x64 folder, where has a CA bundle file cacert.pem, or to copy cacert.pem to your CWD.