Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate

Autor Topic: Solución de procesador multinúcleo joinserver , gameserver  (Visto 1413 veces)

0 Miembros and 1 Guest are viewing this topic.

Offline CorsarioDgx Posteado: October 07, 2019, 06:55:25 PM | Modificado: October 07, 2019, 06:57:04 PM by CorsarioDgx

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 394
  • Gracias recibida: 6786
  • mx
Hola,

estaba tratando de iniciar mi servidor de prueba en PC con procesador i7 con 12 núcleos lógicos y algunas de las aplicaciones de muserver fallaban (por ejemplo, JoinServer, Gameserver). Investigué un poco e implementé una solución para este problema.

C ++:
// dllmain.cpp : Defines the entry point for the DLL application.
#include "stdafx.h"
#include "detours.h"

#pragma comment( lib, "detours.lib" )

void (WINAPI *_getSystemInfo)(LPSYSTEM_INFO) = GetSystemInfo;

void WINAPI _GetSystemInfo(__out LPSYSTEM_INFO lpSystemInfo) {
    _getSystemInfo(lpSystemInfo);

    if (lpSystemInfo->dwNumberOfProcessors > 8) {
        lpSystemInfo->dwNumberOfProcessors = 8;
    }
}

bool APIENTRY DllMain(HINSTANCE hDll, DWORD dwReason, LPVOID lpReserved)
{
    switch(dwReason)
    {
        case DLL_PROCESS_ATTACH:
            DetourTransactionBegin();
            DetourUpdateThread(GetCurrentThread());
            DetourAttach(&(PVOID&)_getSystemInfo, _GetSystemInfo);
            DetourTransactionCommit();
            break;
        case DLL_PROCESS_DETACH:
            DetourTransactionBegin();
            DetourUpdateThread(GetCurrentThread());
            DetourDetach(&(PVOID&)_getSystemInfo, _GetSystemInfo);
            DetourTransactionCommit();
        break;
    }
    return true;
}
La idea es limitar el número máximo de núcleos a 8. Eso es necesario debido a la limitación de 16 hilos en GS y JS.

Utilice DLib Attacher y adjunte MaxCpuLimit.dll a los archivos JoinServer y GameServer.
[/b]

Descarga


Offline louis #1 Posteado: October 08, 2019, 08:54:37 AM

  • MAESTRO

  • US. DE HONOR

  • LEYENDA

  • C++ Coder
  • +11 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 844
  • Gracias recibida: 36402
  • br
gracias

¿Qué error se muestra sin este código?

Update 36 is ready!!!

Offline Natzugen #2 Posteado: October 08, 2019, 01:44:15 PM

  • MAESTRO

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 548
  • Gracias recibida: 18517
  • co
gracias

¿Qué error se muestra sin este código?
Es solo para los gs viejos

Gracias:


Offline louis #3 Posteado: October 08, 2019, 05:22:14 PM

  • MAESTRO

  • US. DE HONOR

  • LEYENDA

  • C++ Coder
  • +11 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 844
  • Gracias recibida: 36402
  • br
Update 36 is ready!!!

Offline CorsarioDgx #4 Posteado: October 08, 2019, 07:40:12 PM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 394
  • Gracias recibida: 6786
  • mx
El error es que no abre el gameserver ni el joinserver ! Y como dice natzu ! Es para que las verciones viejas aun sigan funcionando en los sistemas operativos. Mas nuevos :)


Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate


 

Related Topics

  Subject / Started by Replies Last post
6 Replies
4794 Views
Last post June 17, 2018, 03:17:27 PM
by Cloud
3 Replies
1339 Views
Last post April 15, 2020, 03:59:16 PM
by Aisu
2 Replies
1758 Views
Last post December 19, 2017, 02:19:11 PM
by DeilanSasame
4 Replies
2933 Views
Last post July 26, 2019, 06:27:49 PM
by -Rastaa.TSM☢
2 Replies
1338 Views
Last post April 25, 2020, 11:38:43 AM
by takumi12