Debriefing > Questions, Help, & How To's

Wine: Bad EXE

(1/4) > >>

ron:
EDIT: Hi guys, I re-ran the SteamCMD download steps and it appears I now have a srcds.exe will give things a try now to see if it works :-)
EDIT2: Still having problems  :(


Good evening all,

I've been trying to set up a Linux dedicated server using the following guide:

https://wiki.geshl2.com/goldeneye/server_install_linux

I've followed this guide on a fresh instance of Ubuntu 18.04.

ubuntu@ip-172-31-27-81:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.3 LTS
Release:        18.04
Codename:       bionic


Upon trying to get my server started the first thing I note is that the service script in the guide linked above refers to a "srcds.exe", which does not appear to exist inside my server folder. (/servers/geserver)

The line I'm referring to from the script is:

ExecStart=/usr/bin/wine srcds.exe -console -game gesource +map ge_archives


Instead I have the following 2 .exes:

ubuntu@ip-172-31-27-81:~$ ls -lah /servers/geserver/srcds*
-rwxr-xr-x 1 geserver geserver 231K Oct 20 19:28 /servers/geserver/srcds_i486
-rwxrwxrwx 1 geserver geserver  11K Oct 20 19:28 /servers/geserver/srcds_run


Attempting to run run either nets me the following error:

ubuntu@ip-172-31-27-81:~$ wine /servers/geserver/srcds_run
wine: Bad EXE format for Z:\servers\geserver\srcds_run..

Thinking this may have been a 32-bit .exe vs a 64-bit install of Wine issue, I uninstalled wine, and reinstalled the 32-bit version of Wine, however I continue to run into the same issue.

Am I missing something really stupid and obvious?

Thanks in advance to anybody taking their time to look at this.

 -Ron

soupcan:
Likely what went wrong is you forgot to run the following command before downloading SrcDS last time:


--- Code: ---
@sSteamCmdForcePlatformType windows
--- End code ---

ron:

--- Quote from: soupcan on October 20, 2019, 12:57:05 pm ---Likely what went wrong is you forgot to run the following command before downloading SrcDS last time:


--- Code: ---
@sSteamCmdForcePlatformType windows
--- End code ---

--- End quote ---

Hi Soup, cheers for the response.

I could have sworn I'd done it, but could have made a mistake.

Either way having further issues at the moment.


If I check the status of the service, I get a fairly nondescript error.


--- Code: ---
ubuntu@ip-172-31-27-81:/servers/geserver$ sudo systemctl status geserver.service
● geserver.service - GoldenEye: Source server
   Loaded: loaded (/etc/systemd/system/geserver.service; enabled; vendor preset: enabled)
   Active: activating (auto-restart) (Result: exit-code) since Mon 2019-10-21 00:19:40 UTC; 6s ago
  Process: 28312 ExecStart=/usr/bin/wine srcds.exe -console -game gesource +map ge_archives (code=exited, status=1/FAILURE)
 Main PID: 28312 (code=exited, status=1/FAILURE)

Oct 21 00:19:40 ip-172-31-27-81 systemd[1]: geserver.service: Main process exited, code=exited, status=1/FAILURE
Oct 21 00:19:40 ip-172-31-27-81 systemd[1]: geserver.service: Failed with result 'exit-code'.

--- End code ---


and if I run the line from the startup script, it quickly fails and returns control to my terminal.


--- Code: ---
ubuntu@ip-172-31-27-81:/servers/geserver$ /usr/bin/wine srcds.exe -console -game gesource +map ge_archives
ubuntu@ip-172-31-27-81:/servers/geserver$

--- End code ---

Have I missed something else daft?

I've had a play around with my server configuration files to see if that made any difference, but it doesn't appear to have done so.

Is it possible the server software requires a certain minimum amount of memory available? The VM I'm using only has 1GB.

Cheers,

 -Ron

soupcan:
1GB of RAM should be plenty. I could have sworn that you don't need the C++ redist for running it under wine but I'll PM the DLL to you to try.

ron:
Hi Soupcan,

Thanks for the RAM clarification + advice on the .dll.

After adding the DLL I started getting a new Wine error, which was related to the user I was trying to run xvfb + the goldeneye source service under... As a temporary fix to that, I amneded the xvfb + goldeneye source service scripts to run under my user rather than the geserver user. (I'll go back and set the user up with appropriately secure permissions once I've got this working.)

After making these changes, I was getting some new errors... The error below I'm keeping here for archival purposes, as the error changed after this, and I can't seem to get this error to come back

Checking service status:


--- Code: ---
ubuntu@ip-172-31-27-81:~$ sudo systemctl status geserver.service
● geserver.service - GoldenEye: Source server
   Loaded: loaded (/etc/systemd/system/geserver.service; enabled; vendor preset: enabled)
   Active: activating (auto-restart) (Result: exit-code) since Tue 2019-10-22 09:32:00 UTC; 9s ago
  Process: 18539 ExecStart=/usr/bin/wine srcds.exe -console -game gesource +map ge_archives (code=exited, status=3)
 Main PID: 18539 (code=exited, status=3)

Oct 22 09:32:00 ip-172-31-27-81 systemd[1]: geserver.service: Failed with result 'exit-code'.

--- End code ---

Attempting to run the wine commands manually...


--- Code: ---
ubuntu@ip-172-31-27-81:/servers/geserver$ wine srcds.exe -console -game gesource +map ge_archives
0031:err:user:load_desktop_driver failed to load L"C:\\windows\\system32\\winex11.drv"
0031:err:user:load_desktop_driver failed to load L"C:\\windows\\system32\\winex11.drv"

--- End code ---




I've since stoped & disabled both my xvfb and geserver services, rebooted my device, enabled & started up my services again... and now get the error below:


--- Code: ---
ubuntu@ip-172-31-27-81:/servers/geserver$ sudo systemctl status xvfb.service
● xvfb.service - X Virtual Frame Buffer Service
   Loaded: loaded (/etc/systemd/system/xvfb.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-10-22 09:51:44 UTC; 17min ago
 Main PID: 1816 (Xvfb)
    Tasks: 1 (limit: 1152)
   CGroup: /system.slice/xvfb.service
           └─1816 /usr/bin/Xvfb :99 -screen 0 16x16x8

Oct 22 09:51:44 ip-172-31-27-81 systemd[1]: Started X Virtual Frame Buffer Service.
ubuntu@ip-172-31-27-81:/servers/geserver$ sudo systemctl status geserver.service
● geserver.service - GoldenEye: Source server
   Loaded: loaded (/etc/systemd/system/geserver.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Tue 2019-10-22 09:53:34 UTC; 15min ago
  Process: 2235 ExecStart=/usr/bin/wine srcds.exe -console -game gesource +map ge_archives (code=exited, status=0/SUCCESS)
 Main PID: 2235 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 1152)
   CGroup: /system.slice/geserver.service

Oct 22 09:53:33 ip-172-31-27-81 systemd[1]: Stopped GoldenEye: Source server.
Oct 22 09:53:33 ip-172-31-27-81 systemd[1]: Started GoldenEye: Source server.
Oct 22 09:53:34 ip-172-31-27-81 wine[2235]: 0032:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
Oct 22 09:53:34 ip-172-31-27-81 wine[2235]: 0032:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
Oct 22 09:53:34 ip-172-31-27-81 wine[2235]: Error opening terminal: unknown.

ubuntu@ip-172-31-27-81:/servers/geserver$ pwd
/servers/geserver

ubuntu@ip-172-31-27-81:/servers/geserver$ wine srcds.exe -console -game gesource +map ge_archives
ubuntu@ip-172-31-27-81:/servers/geserver$


--- End code ---
I've dumped the content of my service scripts below:


--- Code: ---
ubuntu@ip-172-31-27-81:/servers/geserver$ cat /etc/systemd/system/xvfb.service
[Unit]
Description=X Virtual Frame Buffer Service
After=network.target

[Service]
User=ubuntu
ExecStart=/usr/bin/Xvfb :99 -screen 0 16x16x8

[Install]
WantedBy=multi-user.target
ubuntu@ip-172-31-27-81:/servers/geserver$ cat /etc/systemd/system/geserver.service
[Unit]
Description=GoldenEye: Source server
After=xvfb.service

[Service]
Type=simple
User=ubuntu
Environment="DISPLAY=:99"
WorkingDirectory=/servers/geserver
ExecStart=/usr/bin/wine srcds.exe -console -game gesource +map ge_archives
Restart=on-failure
RestartSec=10s

[Install]
WantedBy=multi-user.target

--- End code ---



As I've kept trying to restart things and check the status, I now get the following if I spam the status command while the service attempts to auto restart:


--- Code: ---
Oct 22 10:38:25 ip-172-31-27-81 systemd[1]: Started GoldenEye: Source server.
ubuntu@ip-172-31-27-81:/servers/geserver$ sudo systemctl status geserver.service
● geserver.service - GoldenEye: Source server
   Loaded: loaded (/etc/systemd/system/geserver.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-10-22 10:38:25 UTC; 771ms ago
 Main PID: 9232 (srcds.exe)
    Tasks: 33 (limit: 1152)
   CGroup: /system.slice/geserver.service
           ├─9232 srcds.exe -console -game gesource +map ge_archives
           ├─9245 /usr/lib/wine/wineserver64 -p0
           ├─9254 C:\windows\system32\services.exe
           ├─9258 C:\windows\system32\winedevice.exe
           ├─9259 C:\windows\system32\explorer.exe /desktop
           ├─9270 C:\windows\system32\plugplay.exe
           ├─9280 C:\windows\system32\winedevice.exe
           └─9298 wineconsole --use-event=160

Oct 22 10:38:25 ip-172-31-27-81 systemd[1]: Started GoldenEye: Source server.
ubuntu@ip-172-31-27-81:/servers/geserver$ sudo systemctl status geserver.service
● geserver.service - GoldenEye: Source server
   Loaded: loaded (/etc/systemd/system/geserver.service; enabled; vendor preset: enabled)
   Active: activating (auto-restart) (Result: exit-code) since Tue 2019-10-22 10:38:26 UTC; 58ms ago
  Process: 9232 ExecStart=/usr/bin/wine srcds.exe -console -game gesource +map ge_archives (code=exited, status=3)
 Main PID: 9232 (code=exited, status=3)

--- End code ---


At this stage, I'm considering just blowing the VM away and trying again with a new vanilla VM.

Cheers,

 -Ron

Navigation

[0] Message Index

[#] Next page

Go to full version