qdm12 / cod4-docker

Runs a Call of duty 4 Modern Warfare (cod4x) dedicated server in a Docker container.
https://hub.docker.com/r/qmcgaw/cod4
MIT License
53 stars 10 forks source link

game not loading. Maybe localization error? #3

Closed woldtwerk closed 5 years ago

woldtwerk commented 5 years ago

Heho, I'm trying to get this running, but encounter some errors. Can I use any localization of the game? I have the german game file. The main folder has some additional localized iwd files. In the zone folder is a subfolder "german". Inside are the ff files for the maps etc. would be grateful, if you had some tips =)

docker-compose.yml:

services:
    cod4:
        image: qmcgaw/cod4
        container_name: cod4
        volumes:
            - ./main:/cod4/main
            - ./zone:/cod4/zone:ro
            - ./mods:/cod4/mods
            - ./usermaps:/cod4/usermaps:ro
        environment:
            - ARGS=+set dedicated 2+set sv_cheats 1+set sv_maxclients 64+set ui_maxclients 64+exec server.cfg+map_rotate
        ports:
            - 28960:28960/udp
        network_mode: bridge

    http:
        image: httpd:alpine
        container_name: cod4-http
        volumes:
            - ./mods:/usr/local/apache2/htdocs/mods:ro
            - ./usermaps:/usr/local/apache2/htdocs/usermaps:ro
        ports:
            - 8000:80
        network_mode: bridge

Error:

Arguments are: +set dedicated 2+set sv_cheats 1+set sv_maxclients 64+set ui_maxclients 64+exec server.cfg+map_rotate
./cod4x18_dedrun: ./libstdc++.so.6: no version information available (required by ./cod4x18_dedrun)
********************************************************
***** RUNNING SERVER AS A ROOT IS GENERALLY UNSAFE *****
********************************************************
2018-11-03T09:34:03.079677100Z 
tty console mode disabled
CoD4 X 1.8 linux-i386 build 2055 May  2 2017
--- Crypto Initializing ---
Testing sha1 hash function - positive.
Testing sha256 hash function - positive.
Testing tiger hash function - positive.
--- Crypto Initialization Complete ---
IP: 127.0.0.1
IP: 172.17.0.3
Opening IP6 socket: [::]:28960 UDP
Opening IP6 socket: [::]:28960 TCP
Opening IP socket: 0.0.0.0:28960 UDP
Opening IP socket: 0.0.0.0:28960 TCP
2018-11-03T09:34:03.080590900Z 
-----------------------------
 CoD4X Auto Update
 Current version: 1.8
 Current subversion: 17.5
 Current build: 2055
-----------------------------
2018-11-03T09:34:03.080605100Z 
New subversion 17.5
Update not needed. All files are equal.
----- FS_Startup -----
Current language: english
Current fs_basepath: .
Current fs_homepath: /root/.callofduty4
Current search path:
/root/.callofduty4/main
/root/.callofduty4/main_shared
./main
./main_shared
./players
2018-11-03T09:34:03.564993000Z 
File Handles:
----------------------
0 files in iwd files
couldn't exec default_mp.cfg
couldn't exec q3config_server.cfg
dedicated is write protected.
-------- Plugins initialization completed --------
QUERY LIMIT: Querylimiting is enabled
Couldn't open file ca/ca-bundle.crt
HTTP_SendReceiveData: mbedtls_ssl_handshake returned X509 - Certificate verification failed, e.g. CRL, CA or signature check failed
[S_API] Initialization completed
--- Common Initialization Complete ---
--- Game binary initialization ---
^1Error: Failed to load the CoD4 Game. Can not startup the game
^1--- Game Binary Initialization Failed ---
^5Hitch warning: 798 msec frame time
execing server.cfg
map_rotate...
"sv_mapRotation" is: "gametype dm map mp_shipment gametype war map mp_crossfire"
2018-11-03T09:34:03.801566800Z 
"sv_mapRotationCurrent" is: ""
2018-11-03T09:34:03.801609300Z 
---- Network shutdown ----
Closing IPv4 UDP socket: 5
Closing IPv6 UDP socket: 3
Closing IPv4 TCP socket: 6
Closing IPv6 TCP socket: 4
--------------------------
2018-11-03T09:34:04.029624100Z 
Sys_Error: Unable to load a level as the game has failed to load!
2018-11-03T09:34:04.029670600Z 
applicationmanager.cpp (3087) : Assertion Failed: CApplicationManager::GetMountVolume: invalid index
applicationmanager.cpp (3087) : Assertion Failed: CApplicationManager::GetMountVolume: invalid index
applicationmanager.cpp (3238) : Assertion Failed: m_vecInstallBaseFolders.Count() > 0
FillInMachineIDInfo took a total of 0 milliseconds
qdm12 commented 5 years ago

Hi! This is likely due to a recent update i made. You could try building the image yourself starting with the commit before the current one if you're in a hurry. I am travelling until tomorrow so I can't fix it yet. I'll fix it by Monday. Thanks for opening the issue!

On Sat, Nov 3, 2018, 12:40 PM Willi <notifications@github.com wrote:

Heho, I'm trying to get this running, but encounter some errors. Can I use any localization of the game? I have the german game file. The main folder has some additional localized iwd files. In the zone folder is a subfolder "german". Inside are the ff files for the maps etc. would be grateful, if you had some tips =)

docker-compose.yml:

services: cod4: image: qmcgaw/cod4 container_name: cod4 volumes:

  • ./main:/cod4/main
  • ./zone:/cod4/zone:ro
  • ./mods:/cod4/mods
  • ./usermaps:/cod4/usermaps:ro environment:
  • ARGS=+set dedicated 2+set sv_cheats 1+set sv_maxclients 64+set ui_maxclients 64+exec server.cfg+map_rotate ports:
  • 28960:28960/udp network_mode: bridge

    http: image: httpd:alpine container_name: cod4-http volumes:

  • ./mods:/usr/local/apache2/htdocs/mods:ro
  • ./usermaps:/usr/local/apache2/htdocs/usermaps:ro ports:
  • 8000:80 network_mode: bridge

Error:

Arguments are: +set dedicated 2+set sv_cheats 1+set sv_maxclients 64+set ui_maxclients 64+exec server.cfg+map_rotate ./cod4x18_dedrun: ./libstdc++.so.6: no version information available (required by ./cod4x18_dedrun)


RUNNING SERVER AS A ROOT IS GENERALLY UNSAFE


2018-11-03T09:34:03.079677100Z tty console mode disabled CoD4 X 1.8 linux-i386 build 2055 May 2 2017 --- Crypto Initializing --- Testing sha1 hash function - positive. Testing sha256 hash function - positive. Testing tiger hash function - positive. --- Crypto Initialization Complete --- IP: 127.0.0.1 IP: 172.17.0.3 Opening IP6 socket: [::]:28960 UDP Opening IP6 socket: [::]:28960 TCP Opening IP socket: 0.0.0.0:28960 UDP Opening IP socket: 0.0.0.0:28960 TCP 2018-11-03T09:34:03.080590900Z

CoD4X Auto Update Current version: 1.8 Current subversion: 17.5 Current build: 2055

2018-11-03T09:34:03.080605100Z New subversion 17.5 Update not needed. All files are equal. ----- FS_Startup ----- Current language: english Current fs_basepath: . Current fs_homepath: /root/.callofduty4 Current search path: /root/.callofduty4/main /root/.callofduty4/main_shared ./main ./main_shared ./players 2018-11-03T09:34:03.564993000Z File Handles:

0 files in iwd files couldn't exec default_mp.cfg couldn't exec q3config_server.cfg dedicated is write protected. -------- Plugins initialization completed -------- QUERY LIMIT: Querylimiting is enabled Couldn't open file ca/ca-bundle.crt HTTP_SendReceiveData: mbedtls_ssl_handshake returned X509 - Certificate verification failed, e.g. CRL, CA or signature check failed [S_API] Initialization completed --- Common Initialization Complete --- --- Game binary initialization --- ^1Error: Failed to load the CoD4 Game. Can not startup the game ^1--- Game Binary Initialization Failed --- ^5Hitch warning: 798 msec frame time execing server.cfg map_rotate... "sv_mapRotation" is: "gametype dm map mp_shipment gametype war map mp_crossfire" 2018-11-03T09:34:03.801566800Z "sv_mapRotationCurrent" is: "" 2018-11-03T09:34:03.801609300Z ---- Network shutdown ---- Closing IPv4 UDP socket: 5 Closing IPv6 UDP socket: 3 Closing IPv4 TCP socket: 6 Closing IPv6 TCP socket: 4

2018-11-03T09:34:04.029624100Z Sys_Error: Unable to load a level as the game has failed to load! 2018-11-03T09:34:04.029670600Z applicationmanager.cpp (3087) : Assertion Failed: CApplicationManager::GetMountVolume: invalid index applicationmanager.cpp (3087) : Assertion Failed: CApplicationManager::GetMountVolume: invalid index applicationmanager.cpp (3238) : Assertion Failed: m_vecInstallBaseFolders.Count() > 0 FillInMachineIDInfo took a total of 0 milliseconds

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/qdm12/cod4-docker/issues/3, or mute the thread https://github.com/notifications/unsubscribe-auth/AO7gROarhWO6cy_luFRhujQ6X0AJsTK4ks5urWSTgaJpZM4YMuMo .

woldtwerk commented 5 years ago

ok great =) Thx for fast reply

qdm12 commented 5 years ago

Hi there !

Actually the latest version works so it's due to the german game files you have I believe. You might find the answer by reading or asking on the COD4X forums. If you're ok with English, let me know and I could help.

Here is my log with the English files for information and comparison:

Arguments are: +set dedicated 2+set sv_cheats 1+set sv_maxclients 64+set ui_maxclients 64+exec server.cfg+map_rotate
./cod4x18_dedrun: ./libstdc++.so.6: no version information available (required by ./cod4x18_dedrun)
********************************************************
***** RUNNING SERVER AS A ROOT IS GENERALLY UNSAFE *****
********************************************************

tty console mode disabled
CoD4 X 1.8 linux-i386 build 2055 May  2 2017
--- Crypto Initializing ---
Testing sha1 hash function - positive.
Testing sha256 hash function - positive.
Testing tiger hash function - positive.
--- Crypto Initialization Complete ---
IP: 127.0.0.1
IP: 172.17.0.2
Opening IP6 socket: [::]:28960 UDP
Opening IP6 socket: [::]:28960 TCP
Opening IP socket: 0.0.0.0:28960 UDP
Opening IP socket: 0.0.0.0:28960 TCP

-----------------------------
 CoD4X Auto Update
 Current version: 1.8
 Current subversion: 17.5
 Current build: 2055
-----------------------------

New subversion 17.5
Update not needed. All files are equal.
----- FS_Startup -----
Current language: english
Current fs_basepath: .
Current fs_homepath: /root/.callofduty4
Current search path:
/root/.callofduty4/main
/root/.callofduty4/main_shared
./main/xbase_00.iwd (20 files)
./main/iw_13.iwd (265 files)
./main/iw_12.iwd (33 files)
./main/iw_11.iwd (448 files)
./main/iw_10.iwd (230 files)
./main/iw_09.iwd (447 files)
./main/iw_08.iwd (66 files)
./main/iw_07.iwd (34 files)
./main/iw_06.iwd (416 files)
./main/iw_05.iwd (716 files)
./main/iw_04.iwd (765 files)
./main/iw_03.iwd (670 files)
./main/iw_02.iwd (1296 files)
./main/iw_01.iwd (1456 files)
./main/iw_00.iwd (1054 files)
./main
./main_shared
./players
./main/localized_english_iw06.iwd (7 files)
    localized assets iwd file for english
./main/localized_english_iw05.iwd (1338 files)
    localized assets iwd file for english
./main/localized_english_iw04.iwd (1730 files)
    localized assets iwd file for english
./main/localized_english_iw03.iwd (3705 files)
    localized assets iwd file for english
./main/localized_english_iw02.iwd (3483 files)
    localized assets iwd file for english
./main/localized_english_iw01.iwd (3181 files)
    localized assets iwd file for english
./main/localized_english_iw00.iwd (2903 files)
    localized assets iwd file for english

File Handles:
----------------------
24263 files in iwd files
execing default_mp.cfg
execing default_mp_controls.cfg
execing default_mp_gamesettings.cfg
execing server_map.cfg
couldn't exec q3config_server.cfg
dedicated is write protected.
-------- Plugins initialization completed --------
QUERY LIMIT: Querylimiting is enabled
Master0: cod4master.cod4x.me
Resolving cod4master.cod4x.me
cod4master.cod4x.me resolved to 188.165.57.239:20810
cod4master.cod4x.me resolved to [2001:41d0:a:37ad::17]:20810
Master1: cod4master.doszgep.cloud
Resolving cod4master.doszgep.cloud
cod4master.doszgep.cloud resolved to 5.9.235.222:20810
cod4master.doszgep.cloud resolved to [2a01:4f8:162:53e6::3]:20810
[S_API] Initialization completed
--- Common Initialization Complete ---
--- Game binary initialization ---
begin $init
end $init 20 ms
Loading fastfile code_post_gfx_mp
Loading fastfile localized_code_post_gfx_mp
Loading fastfile ui_mp
Loading fastfile common_mp
Loading fastfile localized_common_mp
Loaded zone 'code_post_gfx_mp'
Loaded zone 'localized_code_post_gfx_mp'
Loaded zone 'ui_mp'
Loaded zone 'common_mp'
Loaded zone 'localized_common_mp'
--- Game Binary Initialization Complete ---
^5Hitch warning: 6556 msec frame time
execing server.cfg
map_rotate...
"sv_mapRotation" is: "gametype dm map mp_shipment gametype war map mp_crossfire"

"sv_mapRotationCurrent" is: ""

------ Server Initialization ------
Server: mp_shipment
----- FS_Startup -----
Current language: english
Current fs_basepath: .
Current fs_homepath: /root/.callofduty4
Current search path:
/root/.callofduty4/main
/root/.callofduty4/main_shared
./main/xbase_00.iwd (20 files)
./main/iw_13.iwd (265 files)
./main/iw_12.iwd (33 files)
./main/iw_11.iwd (448 files)
./main/iw_10.iwd (230 files)
./main/iw_09.iwd (447 files)
./main/iw_08.iwd (66 files)
./main/iw_07.iwd (34 files)
./main/iw_06.iwd (416 files)
./main/iw_05.iwd (716 files)
./main/iw_04.iwd (765 files)
./main/iw_03.iwd (670 files)
./main/iw_02.iwd (1296 files)
./main/iw_01.iwd (1456 files)
./main/iw_00.iwd (1054 files)
./main
./main_shared
./players
./main/localized_english_iw06.iwd (7 files)
    localized assets iwd file for english
./main/localized_english_iw05.iwd (1338 files)
    localized assets iwd file for english
./main/localized_english_iw04.iwd (1730 files)
    localized assets iwd file for english
./main/localized_english_iw03.iwd (3705 files)
    localized assets iwd file for english
./main/localized_english_iw02.iwd (3483 files)
    localized assets iwd file for english
./main/localized_english_iw01.iwd (3181 files)
    localized assets iwd file for english
./main/localized_english_iw00.iwd (2903 files)
    localized assets iwd file for english

File Handles:
----------------------
24263 files in iwd files
Unloaded fastfile ui_mp
Loading fastfile mp_shipment
Loaded zone 'mp_shipment'
------- Game Initialization -------
gamename: Call of Duty 4
gamedate: Aug  1 2011
fs_ignoreLocalized is cheat protected.
-----------------------------------
By using this software you agree to the usage conditions you can find at https://github.com/callofduty4x/CoD4x_Server#usage-conditions-for-server-hosters
-----------------------------------
^4Calculate referenced files checksums...
^4CRC32 for zone/english/code_post_gfx_mp.ff is b144581c Len 89196
^4CRC32 for zone/english/mp_shipment.ff is 75761e65 Len 29040480
^4CRC32 for zone/english/common_mp.ff is 4ef7a074 Len 13517381
Steam: Server connected successfully
GameServer is not VAC Secure!
GameServer SteamID: [A:1:675841024]
Resolving cod4master.activision.com
cod4master.activision.com resolved to 185.34.104.231:20810
^5Hitch warning: 1324 msec frame time

I will close the issue for now, feel free to re-open it if you find something new !

woldtwerk commented 5 years ago

The problem was a whitespace in the path. I removed the whitespace and the iwd files get detected.

qdm12 commented 5 years ago

Ok thanks for letting me know. I'll update the container quite soon, maybe try to fix this whitespace problem, although it is likely to be related to the cod4x binary.

woldtwerk commented 5 years ago

some additional info: I tried it on a win10 host. Using the "normal" cod4x server nativly worked fine with the whitespace.

Am Do., 15. Nov. 2018 um 11:40 Uhr schrieb Quentin McGaw < notifications@github.com>:

Ok thanks for letting me know. I'll update the container quite soon, maybe try to fix this whitespace problem, although it is likely to be related to the cod4x binary.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/qdm12/cod4-docker/issues/3#issuecomment-438996136, or mute the thread https://github.com/notifications/unsubscribe-auth/AfRoCbxipxhqXcfQ3kxOZzDUoZgcjI-lks5uvUSLgaJpZM4YMuMo .

qdm12 commented 5 years ago

Where were the whitespaces? In the zone files?

I have updated the container, it notably runs without root now so it's more secured.

woldtwerk commented 5 years ago

whitespace was in the host path. I stored the data in "D:\games\CoD Server". Unfortunatelly I got the same error on the next day. Thus I think there are some other issues in my setup :/

qdm12 commented 5 years ago

How do you mount the directories in Docker?

woldtwerk commented 5 years ago

I put it in the compose file (first post)

qdm12 commented 5 years ago

ok maybe try with the full path name and quotes?

volumes:
  - "/games/CoD Server/main:/cod4/main"
  - "/games/CoD Server/zone:/cod4/zone:ro" 
  - "/games/CoD Server/mods:/cod4/mods"
  - "/games/CoD Server/usermaps:/cod4/usermaps:ro"
qdm12 commented 5 years ago

Also a little note, I've updated the image massively it's now 6.57MB 😃 Don't forget to change ARGS to command line arguments (using command: .... in your compose file).

You might encounter problems if you use it with Steam or want it to be listed publicly as it's really just the binary for now. I'll eventually do one based on Alpine to have a few extra features if someone needs it.