Wealth Project Online

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Рынок, ауры, видео и Twitch-интерактив — решение проблем

Статус
Закрыто для дальнейших ответов.

admin

Житель проекта
Красный администратор
РЫНОК, АУРЫ И ИНТЕРАКТИВНЫЕ ФУНКЦИИ

Устранение ошибок загрузки и отображения игровых элементов Wealth Project​

Возможные неисправности

• Не открывается игровой рынок.
• Не отображаются ауры и визуальные эффекты.
• Не воспроизводятся фильмы и видео на телевизорах.
• Не загружаются отдельные элементы Twitch-интерактива и игровых событий.

Если Minecraft запускается, но перечисленные возможности недоступны, причиной может быть несовместимость системных библиотек Windows.

Доступные решения

Проверено на: Windows 10 Enterprise LTSC 1809 (сборка 17763).

Совместимость: Скрипт рассчитан на разные сборки Windows 10. Успешное исправление подтверждено на указанной выше системе, на остальных результат зависит от причины ошибки.

Инструкция

1.
Полностью закройте Minecraft и Wealth Launcher.

2. Откройте 64-битный Windows PowerShell.

3. Скопируйте и выполните следующий код:

Код:
# Wealth Project - Windows 10 interactive features repair
# Close Minecraft and Wealth Launcher before running.
# Run this entire .ps1 file, rather than entering commands one at a time.

function Invoke-WealthProjectRepair {
    $ErrorActionPreference = 'Stop'

    if (-not [Environment]::Is64BitProcess) {
        throw 'Use 64-bit Windows PowerShell.'
    }

    $os = Get-CimInstance Win32_OperatingSystem
    $build = [int]$os.BuildNumber
    Write-Host "Windows: $($os.Caption), build $build" -ForegroundColor Cyan

    if ($os.Version -notlike '10.0.*' -or
        [int]$os.ProductType -ne 1 -or
        $build -lt 10240 -or $build -ge 22000) {
        throw 'This fix is intended for Windows 10 client editions.'
    }

    $root = Join-Path $env:APPDATA 'Wealth Project\mcef-libraries'
    $log = Join-Path $env:APPDATA 'Wealth Project\logs\latest.log'
    $source = Join-Path $env:WINDIR 'System32\d3dcompiler_47.dll'

    if (-not (Test-Path -LiteralPath $root -PathType Container)) {
        throw 'Game libraries not found. Launch the game once first.'
    }
    if (-not (Test-Path -LiteralPath $source -PathType Leaf)) {
        throw 'Windows system DLL not found. No changes made.'
    }
    if ((Get-Item -LiteralPath $source).Length -lt 1MB) {
        throw 'Windows system DLL has an unexpected size. No changes made.'
    }

    $logText = ''
    if (Test-Path -LiteralPath $log -PathType Leaf) {
        $logText = (Get-Content -LiteralPath $log -Tail 10000) -join "`n"
    }

    $commits = [regex]::Matches(
        $logText,
        'JCEF Commit:\s*([a-fA-F0-9]{40})'
    )
    $commit = $null
    if ($commits.Count -gt 0) {
        $commit = $commits[$commits.Count - 1].Groups[1].Value
    }

    $candidates = @(
        Get-ChildItem -LiteralPath $root -Directory |
            Where-Object { $_.Name -match '^[a-fA-F0-9]{40}$' } |
            ForEach-Object {
                $candidate = Join-Path $_.FullName 'windows_amd64'
                $libcef = Join-Path $candidate 'libcef.dll'
                if (Test-Path -LiteralPath $libcef -PathType Leaf) {
                    $candidate
                }
            }
    )

    if ($commit) {
        $bin = Join-Path (Join-Path $root $commit) 'windows_amd64'
        if ($bin -notin $candidates) {
            throw 'Matching game library not found. No changes made.'
        }
    } elseif ($candidates.Count -eq 1) {
        $bin = $candidates[0]
    } else {
        throw 'Cannot uniquely identify the active game library.'
    }

    $target = Join-Path $bin 'd3dcompiler_47.dll'
    $exists = Test-Path -LiteralPath $target -PathType Leaf
    $sourceHash = (Get-FileHash -LiteralPath $source -Algorithm SHA256).Hash
    $tooSmall = $false

    if ($exists) {
        $targetFile = Get-Item -LiteralPath $target
        $tooSmall = $targetFile.Length -lt 1MB
        if (-not $tooSmall) {
            $targetHash = (Get-FileHash -LiteralPath $target -Algorithm SHA256).Hash
            if ($targetHash -eq $sourceHash) {
                Write-Host 'ALREADY FIXED - no changes required.' -ForegroundColor Green
                return
            }
        }
    }

    $hasKnownError = $false
    $lastBoot = $logText.LastIndexOf('[Wealth CEF] BOOTSTRAP STARTED')
    if ($lastBoot -ge 0) {
        $latestBoot = $logText.Substring($lastBoot)
        $hasKnownError = [regex]::IsMatch(
            $latestBoot,
            '\[Wealth CEF\]\s*FAILED:[^\r\n]*d3dcompiler_47\.dll',
            [System.Text.RegularExpressions.RegexOptions]::IgnoreCase
        )
    }

    if ($exists -and -not $tooSmall -and -not $hasKnownError) {
        Write-Host 'Known DLL error not detected. No changes made.' -ForegroundColor Yellow
        return
    }

    if (-not $exists) {
        Write-Host 'Missing game DLL detected. Restoring...' -ForegroundColor Yellow
    } elseif ($tooSmall) {
        Write-Host 'Unexpected game DLL size detected. Repairing...' -ForegroundColor Yellow
    } else {
        Write-Host 'Known DLL loading error detected. Repairing...' -ForegroundColor Yellow
    }

    $temp = Join-Path $bin ('wealth-fix-' + [guid]::NewGuid().ToString('N') + '.tmp')
    try {
        Copy-Item -LiteralPath $source -Destination $temp -ErrorAction Stop
        $tempHash = (Get-FileHash -LiteralPath $temp -Algorithm SHA256).Hash
        if ($tempHash -ne $sourceHash) {
            throw 'Prepared DLL checksum mismatch. No changes made.'
        }

        # This uses the same copying method that fixed Windows 10 LTSC 1809.
        Copy-Item -LiteralPath $temp -Destination $target -Force -ErrorAction Stop

        $finalHash = (Get-FileHash -LiteralPath $target -Algorithm SHA256).Hash
        if ($finalHash -ne $sourceHash) {
            throw 'Installed DLL checksum mismatch. Close the game and retry.'
        }

        Write-Host 'REPAIR COMPLETE. Restart Wealth Launcher.' -ForegroundColor Green
    }
    finally {
        if (Test-Path -LiteralPath $temp -PathType Leaf) {
            Remove-Item -LiteralPath $temp -Force -ErrorAction SilentlyContinue
        }
    }
}

Invoke-WealthProjectRepair

4. Дождитесь завершения диагностики.

5. Если исправление применено, повторно запустите Wealth Launcher и проверьте работу игровых функций.

✔ Исходный способ исправления успешно протестирован на Windows 10 LTSC 1809.

Обратите внимание: Скрипт меняет только файл игры при его отсутствии, подозрительно малом размере или обнаружении конкретной ошибки загрузки в журнале. Если признаков этой проблемы нет, файлы остаются без изменений. Системные библиотеки Windows не изменяются. Резервная копия заменяемого файла не создаётся.

Если после выполнения инструкции проблема сохраняется, сообщите об этом в комментариях или создайте отдельное обращение.

Для диагностики укажите:

• Версию и сборку Windows.
• Какая игровая функция не работает.
• Когда появилась неисправность.
• Скриншот проблемы и журнал игры.

Это поможет определить причину неисправности и подобрать подходящее решение.

Новые проверенные способы исправления будут добавляться по мере необходимости.

WEALTH PROJECT​
 
Статус
Закрыто для дальнейших ответов.
Назад