Social Icons

delicioustwitteremail

Friday, October 5, 2012

MLB 2K12 Freezing? Here's the Workaround. (Updated with Batch File)

Read on if you're stuck on MLB 2K12's title screen.

* This post has been updated. Click here to skip to the new stuff. *
* Update #2: Click here to check out another workaround. *


2K Sports makes me a little sad.

This is likely the end of the line for the MLB 2K series since Take-Two's agreement with MLBPA expires this year. Post-release support for MLB 2K12 has been pretty awful, with the PC version left completely untouched and consoles last seeing a patch in June. This year's title isn't terrible, but the game isn't without its bugs and shortcomings.

One such bug that first cropped up during the actual All-Star Break in July seems to have returned. After opening MLB 2K12 and watching the game load all of the sliders, profiles, and roster files, the game freezes. This likely has to do with the "MLB Today" feature and the fact that there weren't any games on the real-life MLB schedule on July 9, 11-12, and October 4-5.

Thankfully, there's a relatively easy workaround that involves changing your system date. In Windows 7, right-click the system clock on the taskbar and select "Adjust date/time". Click "Change date and time..." and change the date to a day on which MLB games were played - Tuesday October 2nd works.



After changing the system date you should be able to play MLB 2K12 normally.

Unfortunately, there's a very real possibility that you may need to keep adjusting your system date until 2K releases a permanent fix. Hopefully they address the issue before too long, because this is pretty ridiculous.





UPDATE: Automatic Date Adjustment and Game Launching via Batch File

It's pretty annoying to need to manually update your system date every time you start MLB 2K12, so after slumming it for a couple of days I began to search for a better method. Thanks to Google and a crash course in batch file creation, I figured out how to automate the entire process.

Note: A user suggested an alternative batch script in the comments below, and I've tweaked the code and incorporated it into my own batch file. To view the original batch file and step-by-step creation guide, click on the button below.



Note: I'm using Windows 7. This method works perfectly on my PC, but there's no guarantee it'll work on yours without some tinkering.

First, open up Notepad - you can use the Start menu to open the program, or you can create a text file by right-clicking on your desktop and choosing "New > Text Document." Next, paste the following into the blank Notepad window:

@echo off
:: Save month, day, and year from current date in MM/DD/YYYY format
For /F "tokens=2,3,4 delims=/ " %%A in ('Date /t') do @(
Set Month=%%A
 Set Day=%%B
 Set Year=%%C

)
:: Set tomorrow's date to today's date plus one
set /A Tomorrow=%Day%+1
:: Save pre-run hour from time variable
set hh1=%time:~-11,2%
set /a hh1=%hh1%+100
set hh1=%hh1:~1%
:: Display current date and time
echo Current date is: %date% %time%
:: Set date to October 2nd
date 10/02/2012
echo Date changed to October 2nd.
:: Start MLB2K12 and wait for exit
cd /d "E:\2K Sports\Major League Baseball 2K12\"
echo Starting MLB 2K12...
Start /WAIT mlb2k12.exe
pause
:: Save post-run hour
set hh2=%time:~-11,2%
set /a hh2=%hh2%+100
set hh2=%hh2:~1%
:: If hh2 is less than hh1 increment day, else keep same
echo Syncing date...
if /i %hh2% LSS %hh1% (
date %Month%/%Tomorrow%/%Year%
) else (
date %Month%/%Day%/%Year%
)
echo Current date is:
date /t
pause
exit

I'm in the US, so Windows is configured to display dates in MM/DD/YYYY format. You may need to change the lines in purple above if things aren't working for your localized version of Windows - more on that in a bit.

The value in quotes (red) needs to be changed to your MLB 2K12 installation directory. Mine is "E:\2K Sports\Major League Baseball 2K12\" while yours is probably "C:\Program Files (x86)\2K Sports\Major League Baseball 2K12" or "C:\Program Files (x86)\Steam\steamapps\common\mlb 2k12". If you're unsure of where your game is installed, right-click the shortcut you use to open the game and look at the "shortcut" tab; you should be able to find the installation path next to the "Start in:" label. Make sure to enclose the path in quotes.

Here's the important part: you'll need to save this file as a batch (.bat) file. First, click on "File > Save As." Next, change the "Save as type:" option from "Text Documents (*.txt)" to "All Files." Name the file whatever you like, but make sure to add ".bat" to the end of the filename so that it reads "whatever.bat". It should look like the following:


You absolutely need to save the file as a .bat. That's pretty much the whole point of this exercise.

You should be left with a file that has an icon with a white box and a couple of gears inside.



To execute the script and run the game, simply double-click the file.

This batch script does a number of things. First, the current time and date are stored. The system date is then changed to October 2nd (which I find safer than October 3rd in case midnight rolls around while you're playing). After changing the date, the script runs mlb2k12.exe, which is the executable file that launches MLB 2K12.

After you exit the game, the script compares the current time (after playing) to the previously recorded time (before playing) and sets the system back to the correct date. Let's say that today is the 22nd. If you started playing at 10pm and finished at 11pm, it's still the 22nd, so nothing exciting happens. However, if instead you started at 11:30pm (23:30) on the 22nd and finished at 12:30am (00:30) on the 23rd, the original date needs to be adjusted. The "hours" value of the ending time (00) is less than the "hours" value of the starting time (23), meaning midnight has passed (or you've gone back in time) and we need to increment the originally stored date by one.

tl;dr - double-click the file and magic happens. Hit the spacebar a few times once you're done playing MLB2K12 and your system date should be back to normal.


Date and Time Formatting Issues

Again, the main thing you need to double check when using this script is the date format of your copy of Windows. Open up a command prompt and test out the following command (without quotes):

  • "date /t" - My system returns something along the lines of "Tue 10/23/2012"

Let's say your system uses a European date format of DD/MM/YYYY; in other words, October 23rd 2012 is 23/10/2012. You'd want to change lines 2-7 above to the following:

:: Save month, day, and year from current date in MM/DD/YYYY format
For /F "tokens=2,3,4 delims=/ " %%A in ('Date /t') do @(
Set Day=%%A
 Set Month=%%B
 Set Year=%%C

)

Here "Day" comes before "Month" in the default formatting, so you need to flip-flop those two lines. In addition, you'd need to change line 17 ("date 10/02/2012") to "date 02/10/2012". You'd also need to change the formatting of the "if/else" statement near the end of the file: "%Month%/%Tomorrow%/%Year%" becomes "%Tomorrow%/%Month%/%Year%" and "%Month%/%Day%/%Year%" becomes "%Day%/%Month%/%Year%" (6 and 8 lines from the end).

If for some reason your copy of Windows is configured to show dates without a slash "/" character, you'll need to change another value. In the third line of code, "delims=/" corresponds to the date delimiter (the slashes in MM/DD/YYYY). If your system displays dates as MM.DD.YYYY for example, try changing "delims=/" to "delims=.". You'd also need to change the date formatting throughout the rest of the script.

All of this was cobbled together via Google searches and I don't claim to be anything close to a batch file or Windows localization expert. With that being said, the script works perfectly on my US Windows 7 install and should work in other locales with minimal tweaking.


UPDATE #2: An Alternative Workaround

Kccitystar, a prominent modder over at MVPMods.com, has come up with a potentially permanent fix. He posted the details over at the 2K Sports forums.

I haven't tried the fix yet myself, but it basically involves rolling your system date back, connecting to 2K Share to download a roster, and resetting your system date. Everything should update on its own from there on out, with the daily match-up featuring last year's World Series teams (Cardinals and Rangers).

The things we do to be able to play baseball on the PC...

28 comments:

  1. Thank you, after pulling what's left of my hair out for a couple hours your fix worked perfectly.

    ReplyDelete
    Replies
    1. Yeah, it's definitely frustrating. Hopefully 2K fixes things at some point.

      Delete
    2. really ? and you have to pay for this game? just lol.... broken game which doesnt work after certain date......... congratulations to developers.... ^^

      Delete
  2. Thank you so much.

    ReplyDelete
  3. Its more easy if you capture the current time before and use it after.
    Here my code:

    @echo off
    set CurrentDate=%date%
    echo %CurrentDate%

    date 02/10/2012
    echo Date changed to October 2nd.
    cd /d "C:\Program Files (x86)\2K Sports\Major League Baseball 2K12\"
    echo Starting MLB 2K12...
    Start /WAIT mlb2k12.exe

    date %CurrentDate%
    exit

    ReplyDelete
    Replies
    1. That's definitely easier and it bypasses the Windows time service stuff, but I imagine you'd have a problem if midnight rolled around while you were playing. If you start playing at 11:30pm on the 21st and finish playing at 12:30am on the 22nd, your system date would be set to the 21st.

      I'm sure it's possible to save the starting and ending times and do something along the lines of "if time2 < time1 then date += 1" - I'll have to look into that.

      Delete
    2. Pretty sure I've got this working correctly. I'll test it out a few more times and post an update tonight or tomorrow.

      Delete
  4. THE ALTERNATIVE WORKAROUND WORKS PERFECTLY! DO THAT!

    ReplyDelete
  5. Hey, If I save this .bat unto an external hard drive, and also the Major League Baseball Folder unto to the same hard drive. Will the .bat/the game work?

    ReplyDelete
    Replies
    1. I can't imagine why it wouldn't, though you may need to mess around with the file paths if your portable drive's letter isn't always the same within Windows.

      If you throw the batch file into the MLB2K12 folder on your drive, you should be able to (don't quote me on this) get rid of the "cd /d ..." line (in red above) and just start mlb2k12.exe - there's no need to change directories since the .exe and the .bat are located in the same place.

      Delete
  6. Is there any way to play offline. Everything is fine until I try playing offline, then it freezes up again.

    ReplyDelete
  7. Thanks, it worked perfectly, and I can play.

    ReplyDelete
  8. Didn't work for me. When I save the .bat file it gives me an error message saying if I save in Ansi format I will lose unicode in the text...so I continue anyway, save the file, double click the .bat and it tells me it can't find the mlb.exe file. And yes I copied the path correctly...So any ideas, also I tried KCstars fix about setting the pc clock back and that didnt work either....so I'm stuck.

    ReplyDelete
    Replies
    1. Same here on all of the above. Plus when I run the code above, I am notified I do not have permissions to change the date and am reverted to the actual date. Hope this gets figured out some day. screw 2k sports

      Delete
    2. I am sure you fied it by now, but you have to click the button under ansi and select unix and it should wok then, but save it first

      Delete
  9. Thank You ! Thank You ! so much.

    ReplyDelete
  10. I really hope you get back to me, I run it. works fine for about 5 innings into a quick game and then it blue screen of deaths my computer

    ReplyDelete
  11. When I adjust my date on my windows 7 PC to play MLB 2K12, my computer usually crashes. Can anybody help?

    ReplyDelete
  12. Worked perfectly, thank you. To those who have permissions issues, run the .bat as admin (right click - > run as administrator)

    ReplyDelete
  13. So if I have 2k12 and windows 8, I am screwed?

    ReplyDelete
    Replies
    1. No just do what the instructions say above. Worked for me.

      Delete
  14. It says, "A required privilege is not held by the client." What do i do?

    ReplyDelete
  15. THIS FIX IS THE BEST! Works Perfectly! Been waiting a long time for a working fix! And the system date and time isn't affected after I finish playing. I have this game for Xbox360 but have been wanting it for my gaming laptop. THANKS!

    ReplyDelete
  16. for those getting the required privilege is not held by client its because you are not running the batch as admin.

    quick fix is to right click on the batch file create shortcut. right click on shortcut go to properties click advanced and check the box to run as admin.

    use the shortcut to launch the file. voila.

    if you are using the steamoverlay for ps4 controller, or steam controller support (or any other reason) i wrote a tutorial using this batch script (thanks op you are a legend)

    here http://www.mvpmods.com/files/file/9803-time-batchdate-fix/

    ReplyDelete
  17. i love the script. After I am done with the game, the date does not go back to current date of 8/17/17. Any reason why?

    ReplyDelete
  18. I zmax88.com I

    I 해외 안전사이트 추천 I

    바카라,블랙잭,룰렛,다이사이 등
    다양한 카지노 게임

    I 초대형 규모 I

    이용 회원 수만명
    스포츠 경기 수천 개
    하키,배드민턴,복싱,격투기
    럭비,싸이클 등

    I 24시 상담대기 I

    이용방법이 궁금할 땐
    상담원에게 언제나 문의

    I zmax88.com I

    더 많은 뉴게임 추가
    추천인 없는 즉시가입

    I 걱정없는 보안 I

    보안상 가입전화 시간이
    다소 늦어질 수 있습니다.

    I zmax88.com I

    I 엄청난 이벤트 I

    충전 관련 이벤트만 7개 진행중
    겨울까지만 진행.
    한달에 1억이상 이벤트 비용



    ※축배팅 및 별도의 제재 없습니다.
    ※해외 정식 겜블링 라이센스 보유
    ※매일 첫 충전시 3% 보너스 제공
    ※라이브배팅,한국인상담원,한국KRW제공
    ※매일 10% 추가충전 보너스 제공
    ※더블찬스 배팅 가능
    ※가입후 첫 충전시 충전금액의 20% 보너스 제공

    파트너 및 총판문의 스카이프ID:xpqpwm123

    ReplyDelete
  19. The Pakistan Super League 3rd edition starting from February 2018.There are 6 teams in this event. Multan sultan is the new competitor in this event.
    For best: Pakistan super league teams 2018

    ReplyDelete

 
AnandTech
Tom's Hardware Reviews
Ars Technica
Related Posts Plugin for WordPress, Blogger...