IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
ROTR Manual Install and Troubleshooting Guide, Solutions for installation and launching (PC and Mac)
AceMaster
post 28 Sep 2015, 7:55
Post #1



Group Icon

Group: Members
Posts: 118
Joined: 17 October 2013
Member No.: 10166



Manual Install and Troubleshooting Guide

The Manual Install Guide aim to make ROTR works when default installation failed to under different configurations. The instructions do NOT install ROTR Launcher and SWR.NET !!!
The Troubleshooting Guide summarise major issues (i.e. crashes by type) and provide solutions from various source.

This guide will be updated as new information emerged.

Alright, before getting our hands dirty, let's get this straight:

C&C Generals and Zero Hour Expansion Facts

1. 32bit program which can only address up to 2GB of memory by default (related to Type 1 Crash below)
2. designed to run on Windows XP and assume user is an administrator (require elevated system privileges to INSTALL and RUN)
3. noncompliant with User Account Control (UAC)

4. freely rename/move/copy the game to a different location without reinstalling by adjusting InstallPath in EA registry entry
5. Standalone/Deluxe edition can be streamlined and run (setup.exe) locally from hard drive by combining disc contents
6. only Standalone and Deluxe Edition need official patch, the rest are up-to-date

7. use .BIG files to keep game assets and corresponding directory tree as an archive (similar to zip), it prioritise loading files from game directory tree over .BIG file
8. a proper installation must contain files in the attached Zero Hour file list (see attached for details)

9. designed to run on Standard 4:3 aspect ratio in Full Screen, Widescreen will cutoff top and bottom and reduce Field-Of-View (FOV) = lower camera height / smaller viewable map / bigger units
10. max Anti-Aliasing (AA) support in Options ini: AntiAliasing = 6 (maximum for AMD/ATI) AntiAliasing = 4 (maximum for NVIDIA)
11. do NOT support Anisotropic Filtering (AF)

Generals & Zero Hour Install Tips:
- Always install at C:\Games\ or C:\Users\[username]\Games\ to avoid permission issue/administrator privileges regardless of Windows versions
- Always keep a backup copy of the game after install/patch + export EA registry entries
- Always test unsupported resolution with generals.exe -xres xxxx -yres xxxx before applying
- Always modify gamedata.ini in \Data\INI\ rather than directly to INIZH.big(ZeroHour) / !Rotr_INI.big(RotR)
- Always apply official patch Generals 1.08 and Zero Hour 1.04 before No-CD/4GB/Mods


!!! Ensure the game is patched up-to-date: Generals 1.08 + Zero Hour 1.04 and is in working condition !!!
Look for Zero Hour 1.04 at the bottom of in-game Option menu AND Test run a sandbox Network game before proceeding.



ROTR Manual Install

For PC

1. copy C:\Games\Zero Hour\ to C:\Games\ROTR\
2. run ROTRBeta_185.exe and install to an empty directory e.g. C:\tmp_rotr
3. copy C:\tmp_rotr\ .gib files to C:\Games\ROTR\ and rename all to .big
4. copy C:\tmp_rotr\0000000.016, 00000000.256, Install_Final.bmp and overwrite the ones in C:\Games\ROTR\
5. copy C:\tmp_rotr\Data\Movies\ROTR_Intro.bik to C:\Games\ROTR\Data\Movies\
6. copy C:\tmp_rotr\WorldBuilder_ROTR.exe to C:\Games\ROTR\
7. delete C:\Games\ROTR\Data\Scripts

Test run C:\Games\ROTR\generals.exe and see if it works. Make a backup of the directory and registry at this stage helps to avoid repeating the above steps.

You can now choose to install two optional components before cleanup with Uinst_ROTR_Beta185.exe
C:\tmp_rotr\ROTRMapPack_V2.exe
For SWR.NET to work, not only you need C:\tmp_rotr\SWRNetSetup.exe (required .NET4.0 and SWRNet2.x update), but also the launcher from the installer. Meaning if you want to use SWR.NET, you shouldn't be using this Manual Install in the first place.


For Mac with CrossOver(Wine)
Assuming game installed in a CNC bottle:
Generals: /Users/USERNAME/Library/Application Support/CrossOver/Bottles/CNC/drive_c/Games/Generals/
Zero Hour: /Users/USERNAME/Library/Application Support/CrossOver/Bottles/CNC/drive_c/Games/ZeroHour/

1. Duplicate ../Games/ZeroHour/ to ../Games/ROTR/
2. Run command... ROTRBeta_185.exe and install to ../tmp_rotr/
3. copy ../tmp_rotr/ .gib files to ../Games/ROTR/ and rename all to .big
4. replace ../tmp_rotr/0000000.016, 00000000.256, Install_Final.bmp under ../Games/ROTR/
5. copy ../tmp_rotr/Data/Movies/ROTR_Intro.bik to ../Games/ROTR/Data/Movies/
6. remove ../Games/ROTR/Data/Scripts

Create launcher with "/Users/USERNAME/Library/Application Support/CrossOver/Bottles/CNC/drive_c/Games/ROTR/generals.exe" -xres 1024 -yres 768

You can now choose to install MapPack before cleanup with Uinst_ROTR_Beta185.exe
Run command... ../tmp_rotr/ROTRMapPack_V2.exe
SWR.net does not work due to Windows virtual LAN driver cannot be implemented in CrossOver(Wine).

Note:
ROTR Patch 1.86 follows the same process, read \tmp_rotr\ROTR185_Lnchr.dat in text editor for details on file placement.



Troubleshooting
Tips & tricks in this section are gathered from different sources, may provide source link when appropriate. All credits goes to the respective authors.
Depends on the type of crash, the log ReleaseCrashInfo.txt can be found at \My Documents\ or \My Documents\Command and Conquer Generals Zero Hour Data\

TYPE 1 Crash - "You've encountered a Fatal error/Serious error has occurred"
Symptom: When playing Skirmish with 3+ brutal AI/players in large map, 100+ units, 5-15 mins into the game, it goes slow then crash.

Reason: 32bit Program Limitations - A 32bit program can address up to 4GB of memory space, however, by default these process can only utilise 2GB, therefore by design, the game must rely heavily on virtual memory in order to function. To make matter worse, Zero Hour has serious memory leak which exacerbate the issue. The longer you play, the more data pileup in physical memory then chew up virtual memory which unable to release any of it, ending in crash. Restart the game won't help, only a reboot can.

Solution(s):
This solution may or may not alleviate your problem, please read the next comment by Graion Dilach. Use at your own risk.
a. Increase virtual memory to 10GB-20GB for Windows
b. For 64bit OS ONLY, patch the executable to let the game utilise 4GB address space (Also works on world builder and any 32bit apps too!)

!!!!! Note that only TFD use generals.exe as an executable, other versions use game.dat with generals.exe as a loader. In this case, patch game.dat instead !!!!!

If the 4GB patch failed to work, use CFF Explorer to patch it manually (see screenshot).

Source: Gavin Arnette Jul 17, 2014, 11:41pm EDT
http://www.hardwareanalysis.com/content/topic/15623/?o=620


TYPE 2 Crash - "Technical Difficulties"
Symptom: crash right after launcher screen with message

Reason(s):
a. applied NoCD patch without patching to 1.04
b. malfunction NoCD patch
c. corrupted registry key
d. left over files from other mod(s), being renamed, corrupted by .big editor or missing major game files
e. malfunction Game.ini, Option.ini
f. ReleaseCrashInfo report "Uncaught Exception during initialization"
g. missing MS Visual C++ components
h. shellmap (menu background animation) in some case caused by patches or conflict from other mods

Solution(s):
a. reinstall > apply official patch > apply unofficial patch if applicable > apply NoCD patch > apply 4GB patch
b. replace generals.exe with one from TFD unofficial patch 1.03
c. compare registry key with the standard ones
d. replace the corrupted files by comparing against the attached file list for diagnostic OR do a clean install
e. restore files from clean backup
f. run generals.exe with NoCD patch
g. install Microsoft Visual C++ 2008 Redistributable Package (x86) Microsoft Visual C++ 2008
h. skip shellmap by running generals.exe -quickstart

Source: http://www.gamereplays.org/cnczerohour/por...amp;tab=8280900


TYPE 3 Crash without error
Symptom: the game/launcher close to desktop without error

Reason(s):
a. Windows update blocked SecureROM CD-Check function
b. ReleaseCrashInfo report "Error parsing INI file 'Data\INI\GameData.ini", being modified directly with FinalBig or replaced with an incompatible one from elsewhere.
c. ReleaseCrashInfo report "Uncaught Exception in GameEngine::updateLast"
d. Unsupported screen resolution was used in Option.ini

Solution(s):
a. use a NoCD patch
b. restore !Rotr_INI.big if it's been modified OR replace GameData.ini with the one in !Rotr_INI.big before attempt to adjust settings
c. use Program Compatibility Mode on generals.exe
d. use Standard 4:3/Widescreen 16:9 screen resolutions with generals.exe -xres xxxx -yres xxxx to run tests before applying permanently (avoid Widescreen 16:10 and Ultra-Widescreen as it has serious vert - problem)


Launcher Error - "access to path is denied"
Reason: ROTR installed with non-administrator permission (failed to write run-time application data to %ProgramFiles%)

Solution(s):
a. change permission for game directory, sub-directories and files to your user account
b. run compatibility mode with administrator privileges on generals.exe
c. reinstall ROTR as administrator


Launcher Freeze with SWR.net Turned ON
Reason: .NET version & visual C++ version may not be compatible with ROTR Launcher and SWR.net on Windows 8

Solution(s):
a. update .NET & C++
b. read the manual install guide and skip ROTR Launcher and SWR.net


Install error
Reason: This Mod has been installed in the frong(wrong) folder

Solution: read the manual install guide and install everything to Games


Lag
Symptom: the game lag in skirmish with 4+ AI and loads of units, frame rate dropped to 5fps and render it unplayable

Reason(s):
a. game's memory leak
b. path finding issue by the game engine SAGE and poor AI script from certain maps

Solution(s):
a. See TYPE 1 Crash above
b. For Windows 7 or above, NTFS formatted drive. Turn off windows indexing on the game directory and all sub-directories

Source: http://forums.swr-productions.com/index.ph...ost&p=99977

This post has been edited by AceMaster: 5 Dec 2015, 12:55
Attached File(s)
Attached File  Zero_Hour_File_List.txt ( 491bytes ) Number of downloads: 6
Attached File  CFF_4GB_Patching.png ( 77.63K ) Number of downloads: 13
 
Go to the top of the page
 
+Quote Post
Graion Dilach
post 25 Oct 2015, 9:52
Post #2


Supérior Caliburwielder
Group Icon

Group: Project Leader
Posts: 626
Joined: 23 August 2013
From: Iszkaszentgyörgy, Hungary
Member No.: 10093
Just a random modder trying to give a helping hand.



Do not increase your virtual memory to 10-20 GB without backing up with at least 4-8 GB physical RAM.

Windows memory management will then try to cache everything and the performance you would gain by that will be wasted into paging back and forth between - copying virtual memory segments from HDD to RAM and back all the time. The suggested VM sizes are between 1.5-2* of your physical RAM size.

Also this is wrong:
QUOTE (AceMaster @ 28 Sep 2015, 8:55) *
A 32bit program can address up to 4GB of physical address space (in RAM), however, by default, any 32bit process can only utilise 2GB, therefore by design, the game must rely heavily on virtual memory in order to function.

The address space defined in that article is for both physical and virtual memory. If you want to go technical: your available memory address space will be the sum of your physical and virtual memory size and your RAM always have some portions of it("pages"). The OS will detect if a process requires the use of a page not available in the RAM at the moment and will change - copy the least used page back to HDD, and rewrite that page address space with the affected page in the RAM - before letting the process to continue. The memory addresses gets remapped via specialized hardware between this available memory space and your physical RAM addresses afterall.

Increasing the virtual memory to ludicrous sizes increase both the VM file on your HDD, the amount of pages and will encourage Windows to separate every process to their own pages and that'll cause expensive throttling because even if you don't think about it, an average PC always run at least 40-80 processes.

This also means that the 2 GB memory limit per 32bit process is applied to this available memory space which includes virtual memory within itself already.

Just because one guy can solve the memory leaking of Generals with ludicrous VM size and back the paging up with ludicrous hardware, that is still not a solution.


--------------------


AS Discord server: https://discord.gg/7aM7Hm2 | SWR Community Discord https://discord.gg/REcbv37
QUOTE
ComradeCrimson: AS is the product of Hungarian acid
ComradeCrimson: And magical hussars
Dutchygamer: and Weird Al.

QUOTE (Hanfield @ 17 Dec 2016, 20:47)
we have players who don't play, testers who don't test, devs who don't dev and members who don't remember
Go to the top of the page
 
+Quote Post
AceMaster
post 25 Oct 2015, 10:35
Post #3



Group Icon

Group: Members
Posts: 118
Joined: 17 October 2013
Member No.: 10166



QUOTE
Do not increase your virtual memory to 10-20 GB without backing up with at least 4-8 GB physical RAM.
Windows memory management will then try to cache everything and the performance you would gain by that will be wasted into paging back and forth between - copying virtual memory segments from HDD to RAM and back all the time. The suggested VM sizes are between 1.5-2* of your physical RAM size.

... your available memory address space will be the sum of your physical and virtual memory size and your RAM always have some portions of it("pages"). The OS will detect if a process requires the use of a page not available in the RAM at the moment and will change - copy the least used page back to HDD, and rewrite that page address space with the affected page in the RAM - before letting the process to continue. The memory addresses gets remapped via specialized hardware between this available memory space and your physical RAM addresses afterall.


So you are saying: If we want to avoid the problem with Thrashing, be sure to have an SSD for VM and at least 8GB of RAM before attempting to increase virtual memory?

Any suggestions regarding the optimal RAM size for different version of Windows that run Zero Hour?


QUOTE
Also this is wrong:
QUOTE
A 32bit program can address up to 4GB of physical address space (in RAM), however, by default, any 32bit process can only utilise 2GB, therefore by design, the game must rely heavily on virtual memory in order to function.

It is now adjusted to reflect your input and reference.


QUOTE
This also means that the 2 GB memory limit per 32bit process is applied to this available memory space which includes virtual memory within itself already.


Does that mean the 4GB patch that help the 32bit process to address larger memory space is useless in our case?


Technical Reference:
"The total amount of virtual address space available to a process is limited by physical memory and the free space on disk available for the paging file."
http://superuser.com/questions/367490/can-...-20gb-page-file
http://www.tomshardware.com/forum/266892-30-memory-apps

Utilising More Than 4GB of Memory in a 32-bit Windows Process
http://www.chrisoldwood.com/articles/utili...e-than-4gb.html

This post has been edited by AceMaster: 25 Oct 2015, 11:35
Go to the top of the page
 
+Quote Post
Graion Dilach
post 25 Oct 2015, 10:54
Post #4


Supérior Caliburwielder
Group Icon

Group: Project Leader
Posts: 626
Joined: 23 August 2013
From: Iszkaszentgyörgy, Hungary
Member No.: 10093
Just a random modder trying to give a helping hand.



The 4GB patch isn't useless because it does break the barrier of that 2GB memspace limit (assuming you're running an x64 system). On x86 systems - since Windows disabled PAE in XP SP1 due to drivers going mad - the 4GB patch does not make a difference.

You can increase your VM, but don't go beyond twice of your RAM, really - in these cases the OS is kinda forced to share pages between processes leading to better overall memory consumption. Maintaining the VM on the SSD does help but it's not necessary. Virtual memory itself got the hardware support within the 80386 era afterall and even your first Win95/98 had this feature.

There is no memory suggestion, I don't know if that memory leak that guy blames do exist or not, but - let's assume it does - the generic "the more the merrier" always applies to this case, that and the memleak will not disappear just by expanding memory. I'm not certain about what measurements the Windows releases gained to catch memleaks - Win8 did introduced one catching mechanism, which is the cause of YR crashing when you start your second game.


--------------------


AS Discord server: https://discord.gg/7aM7Hm2 | SWR Community Discord https://discord.gg/REcbv37
QUOTE
ComradeCrimson: AS is the product of Hungarian acid
ComradeCrimson: And magical hussars
Dutchygamer: and Weird Al.

QUOTE (Hanfield @ 17 Dec 2016, 20:47)
we have players who don't play, testers who don't test, devs who don't dev and members who don't remember
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



Lo-Fi Version Time is now: 27 March 2017 - 7:38