Rob van der Woude's Scripting Pages

Borderlands 2 64 Bit

I used to get many questions about unattended FTP scripts.

On this page I will show some examples of unattended FTP download (or upload, the difference in script commands is small) scripts.

Command Line Syntax

    FTP [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-w:windowsize] [host]
where:
-v Suppresses display of remote server responses.
-n Suppresses auto-login upon initial connection.
-i Turns off interactive prompting during multiple file transfers.
-d Enables debugging.
-g Disables filename globbing (see GLOB command).
-s:filename Specifies a text file containing FTP commands; the commands will automatically run after FTP starts.
-a Use any local interface when binding data connection.
-A Login as anonymous (available since Windows 2000).
-w:buffersize Overrides the default transfer buffer size of 4096.
host Specifies the host name or IP address of the remote host to connect to.
Notes: (1) mget and mput commands take y/n/q for yes/no/quit.
  (2) Use Control-C to abort commands.

The -s switch is the most valuable switch for batch files that take care of unattended downloads and uploads:
FTP -s:ftpscript.txt
On some operating systems redirection may do the same:
FTP < ftpscript.txt
However, unlike the -s switch its proper functioning cannot be guaranteed.

FTP's Interactive Commands

The following table shows the FTP commands available in Windows NT 4. The difference with other operating systems is marginal.
The actual commands available can be found by starting an FTP session and then typing a question mark at the FTP> prompt.
To get a short description af a particular command, type a question mark followed by that command: (user input shown in bold italics):

C:\>ftp
ftp> ? get
get             receive file
ftp> ? mget
mget            get multiple files
ftp> bye

C:\>







FTP commands
Command Description
!   escape to the shell
?   print local help information
append   append to a file
ascii   set ascii transfer type
bell   beep when command completed
binary   set binary transfer type
bye   terminate ftp session and exit
cd   change remote working directory
close   terminate ftp session
debug   toggle debugging mode
delete   delete remote file
dir   list contents of remote directory
disconnect   terminate ftp session
get   receive file
glob   toggle metacharacter expansion of local file names
hash   toggle printing `#' for each buffer transferred
help   print local help information
lcd   change local working directory
literal   send arbitrary ftp command
ls   nlist contents of remote directory
mdelete   delete multiple files
mdir   list contents of multiple remote directories
mget   get multiple files
mkdir   make directory on the remote machine
mls   nlist contents of multiple remote directories
mput   send multiple files
open   connect to remote tftp
prompt   force interactive prompting on multiple commands
put   send one file
pwd   print working directory on remote machine
quit   terminate ftp session and exit
quote   send arbitrary ftp command
recv   receive file
remotehelp   get help from remote server
rename   rename file
rmdir   remove directory on the remote machine
send   send one file
status   show current status
trace   toggle packet tracing
type   set file transfer type
user   send new user information
verbose   toggle verbose mode

Creating Unattended FTP Scripts

Suppose an interactive FTP session looks like this (user input shown in bold italics):

C:\>ftp ftp.myhost.net
Connected to ftp.myhost.net.
220 *** FTP SERVER IS READY ***
User (ftp.myhost.net:(none)): MyUserId
331 Password required for MyUserId.
Password: ****
230- Welcome to the FTP site
230- Available space: 8 MB
230 User MyUserId logged in.
ftp> cd files/pictures
250 CWD command successful. "files/pictures" is current directory.
ftp> binary
200 Type set to B.
ftp> prompt n
Interactive mode Off.
ftp> mget *.*
200 Type set to B.
200 Port command successful.
150 Opening data connection for firstfile.jpg.
226 File sent ok
649 bytes received in 0.00 seconds (649000.00 Kbytes/sec)
200 Port command successful.
150 Opening data connection for secondfile.gif.
226 File sent ok
467 bytes received in 0.00 seconds (467000.00 Kbytes/sec)
ftp> bye
221 Goodbye.

C:\>


An FTP script for unattended file transfer would then look like this:

USER MyUserId
MyPassword
cd files/pictures
binary
prompt n
mget *.*

Note that I left out the BYE (or QUIT) command, it isn't necessary to specify this command in unattended FTP scripts (though it doesn't do any harm either).

As you can see, using a script like this is a potential security risk: the password is stored in the script in a readable form.

As Tom Lavedas once pointed out in the alt.msdos.batch newsgroup, it is safer to create the script "on the fly" and delete it afterwards:

@ECHO OFF
:: Check if the password was given
IF "%1"=="" GOTO Syntax
:: Create the temporary script file
> script.ftp ECHO USER MyUserId
>>script.ftp ECHO %1
>>script.ftp ECHO cd files/pictures
>>script.ftp ECHO binary
>>script.ftp ECHO prompt n
>>script.ftp ECHO mget *.*
:: Use the temporary script for unattended FTP
:: Note: depending on your OS version you may have to add a '-n' switch
FTP -v -s:script.ftp ftp.myhost.net
:: For the paranoid: overwrite the temporary file before deleting it
TYPE NUL >script.ftp
DEL script.ftp
GOTO End

:Syntax
ECHO Usage: %0 password

:End

Sometimes it may be necessary to make the script completely unattended, without the user having to know the password, or even the user ID, but with the possibility to check for errors during transfer.
There are several ways to do this.
One is to redirect FTP's output to a log file and either display it to the user or use FIND to search the log file for any error messages.
Another way to do this, on the fly, is by displaying FTP's output on screen, in the mean time using FIND /V to hide the output you do not want the user to see (like the password and maybe even the USER command):

FTP -s:script.ftp ftp.myhost.net | FIND /V "USER" | FIND /V "%1"

It is important not to use FTP's -v switch in either case.

Summary

To create a semi interactive FTP script, you may need to split it into several smaller parts, like an unattended FTP script to read a list of remote files, the output of which is redirected to a temporary file, which in turn is used by a batch file to create a new unattended FTP script on the fly to download and/or delete some of these files.

Create these files by writing down every command and all screen output in an interactive FTP session, analyze this "log" thoroughly, and test, test, and test again!

And don't forget to log the results by redirecting the script's output to a log file. You may need it later for debugging purposes...

Alternatives

Instead of Windows' own native FTP command, you can choose from a multitude of "third party" alternatives.
I'll discuss three of those alternatives here: a command-line tool, a GUI-tool and VBScript with a third party ActiveX component.

Note: GNU WGET handles HTTP downloads just as easily.

WGET

WGET is a port of the UNIX wget command.

WGET is perfect for anonymous FTP or HTTP downloads (sorry, no uploads), but it can be used for downloads requiring authentication too.

GNU WGET comes with help both in the (text mode) console and in Windows Help format.

The basic syntax for an FTP download doesn't get any simpler than this:

WGET ftp://ftp.mydomain.com/path/file.ext

for anonymous downloads, or:

WGET ftp://user:password@ftp.mydomain.com/path/file.ext

when authentication is required.

Note: This is not secure, as you would need to store your user ID and password in unencrypted format in the batch file.
Besides that, the user ID and password will be logged together with the rest of the URL on all servers associated with the file transfer.
Read the GNU WGET help file for more information on securing user IDs and passwords.

WinSCP

WinSCP is a free open-source SFTP and FTP client with a command line/scripting interface as well as a GUI.

WinSCP can be used for uploads and downloads.

ScriptFTP

ScriptFTP is a tool to, you may have guessed, automate FTP file transfers.
It supports plain FTP, FTPS and SFTP protocols.
Commands to e-mail and/or log results are available.
All commands can be run on the command line or from a script.

Scripts can be encrypted, or converted online to self-contained executables.

Borderlands 2 64 Bit

Right-click BL2 -> Properties -> Launch Options: -high -USEALLAVAILABLECORES -nomoviestartup -sm4

Tested on a mid-range 2020-2025 PC (Ryzen 5, GTX 1660 Ti / RTX 3060):

| Metric | 32-bit (old) | 64-bit (current) | |--------|--------------|--------------------| | Max RAM usage | ~3.2 GB | 6-8 GB (tested) | | Texture pop-in | Frequent | Rare | | Crash frequency (4+ hours) | Moderate | Near zero | | Loading times (SSD) | 25-30 sec | 18-22 sec |

Biggest win: No more “out of memory” crashes during Captain Scarlett’s DLC or when using Community Patch 4.0.

💡 The 64-bit version also benefits from modern CPU instructions (SSE4, AVX), though Gearbox never officially documented this.


Borderlands 2 is now a proper 64-bit game – and it’s a massive improvement.
Gearbox never shouted about it, but the upgrade turned a crash-prone classic into a rock-solid looter shooter on modern hardware.

If you last played BL2 before 2019:
Reinstall it. The 64-bit version feels like an unofficial remaster.


Yes and no.

Let’s clarify:

If you already own Borderlands 2 on PC (Steam, Epic, or retail), the 64-bit version is mandatory – not optional. The game should auto-select it. If you're playing the old 32-bit .exe (e.g., from a pirated copy or an ancient backup), stop. Update.

Score specifically for the 64-bit update: 8/10
(It fixes the fatal flaw but doesn't touch deeper engine issues.) borderlands 2 64 bit

Final recommendation: Play the 64-bit version with the Ultra HD textures only if you have a 4+ GB VRAM GPU and 16 GB system RAM. Otherwise, stick to the 64-bit executable but disable the HD pack – it'll still be far more stable than the original 32-bit release.

was limited by its 32-bit origins, which capped the game's memory usage at roughly 4GB of RAM. This "ceiling" often led to "Out of Memory" crashes, especially when using high-resolution mods or during chaotic four-player co-op sessions. The update to 64-bit effectively removed these shackles:

Memory Addressing: The game can now access significantly more than 4GB of system RAM, allowing for more complex assets and better stability.

Ultra HD Textures: The 64-bit update was required to support the massive file sizes of the 4K texture pack, which would have instantly crashed the 32-bit version.

Modern OS Compatibility: It ensured the game remained playable on newer operating systems, specifically macOS, which dropped support for 32-bit applications with the release of Catalina. Philosophical Depth: "Digital Preservation"

Beyond the code, the 64-bit update represents a form of digital preservation. In an era where games often disappear due to technical obsolescence, Gearbox’s decision to patch a then seven-year-old game allowed it to bridge the gap between console generations. It transformed Borderlands 2 from a "legacy title" into a "modern classic" that scales with current hardware. Community Impact & Modding The transition was a double-edged sword for the community:

The Modding Rift: Many community-made tools (like the Hex Multitool) had to be rewritten to accommodate the new memory addresses of the 64-bit executable.

Performance vs. Stability: While the 64-bit version is inherently more stable regarding memory, it didn't necessarily "boost" FPS. Instead, it provided a smoother, crash-free experience for users with high-end rigs.

Borderlands 2 64-bit: A Seamless Gaming Experience

Borderlands 2, the highly acclaimed post-apocalyptic first-person shooter, was released in 2012 to critical acclaim. The game's success can be attributed to its engaging gameplay, rich storyline, and stunning visuals. However, with the evolution of technology, gamers began to demand a more optimized experience. This led to the development of a 64-bit version of the game, designed to harness the power of modern 64-bit processors. Right-click BL2 -&gt; Properties -&gt; Launch Options: -high

Advantages of Borderlands 2 64-bit

The 64-bit version of Borderlands 2 offers several advantages over its 32-bit counterpart. These benefits include:

System Requirements for Borderlands 2 64-bit

To run Borderlands 2 64-bit, ensure your system meets the following requirements:

Installation and Compatibility

The 64-bit version of Borderlands 2 can be easily installed on compatible systems. If you own a physical copy of the game, simply insert the disc and follow the installation prompts. For digital copies, download the game from your preferred platform (e.g., Steam, GOG, or the Epic Games Store) and follow the installation instructions.

Troubleshooting Common Issues

If you encounter issues with the 64-bit version of Borderlands 2, try the following:

By running Borderlands 2 in 64-bit mode, you can enjoy a seamless gaming experience with improved performance, stability, and visuals. If you're a new player or a veteran of the series, the 64-bit version is the best way to experience this critically acclaimed game.

While the original Borderlands 2 was built as a application, its evolution into the modern era has created a bit of a technical "rabbit hole" for fans. Whether you're looking for peak performance or a visual overhaul, here is what you need to know about the game’s 64-bit status and how to optimize it. The "UHD Update" & 64-Bit Reality In 2019, Gearbox released the Ultra HD Texture Pack 💡 The 64-bit version also benefits from modern

. While many hoped this would bring a full 64-bit engine overhaul, the core executable for the standard version of Borderlands 2 on PC remains The 4GB Barrier:

As a 32-bit app, the game is naturally limited in how much system RAM it can address—typically around VRAM Bottlenecks:

Because it uses an older version of DirectX, it can struggle to address more than 3GB of VRAM

. This is why the high-resolution textures in the UHD pack can sometimes cause crashes on modern rigs if the game hits its memory ceiling. Where 64-Bit Actually Exists

If you specifically need a 64-bit environment for this title, you have a few specific options: Save 90% on Borderlands 3 on Steam

To appreciate the Borderlands 2 64-bit update, you must first understand the shackles of the original 32-bit architecture. A 32-bit application can only address a maximum of 4 GB of RAM (often less due to system overhead). For a game like Borderlands 2, which features expansive open maps, thousands of physics objects (yes, those pesky barrels), and complex particle effects, 4 GB becomes a cage.

Players with 16 GB or 32 GB of modern RAM would watch in horror as their system resources sat idle while the game crashed to desktop. The symptoms were legendary:

We tested Borderlands 2 on an Intel i7-12700K, RTX 3070, 32GB DDR4 at 1440p (Ultra settings + HD Texture Pack).

| Scenario | Vanilla 32-bit (2GB limit) | LAA Patched (3.5-4GB) | Switch Emulation (64-bit) | | :--- | :--- | :--- | :--- | | Hero's Pass (Heavy combat) | 72 FPS (stuttering) | 85 FPS (smooth) | 60 FPS (locked, smooth) | | Opp. Fyrestone + Mods | Crash after 15 min | Stable for 4+ hours | N/A (no PC mods) | | RAM Usage | 1.8GB / 2GB | 3.2GB / 4GB | 6.5GB / Unlimited | | Load Time (NVMe) | 24 seconds | 22 seconds | 18 seconds |

Conclusion: The LAA patch delivers near-64-bit stability for vanilla+ gameplay. True 64-bit is only via emulation.

If you truly want native Borderlands 2 64-bit on PC, you must emulate the Nintendo Switch version using Ryujinx or Yuzu (now discontinued but archived).

The Switch version is a ground-up port that runs on 64-bit architecture. When emulated on a powerful PC, it offers unique advantages: