Post: Ending Games Without Host?
07-20-2015, 01:55 AM #1
(adsbygoogle = window.adsbygoogle || []).push({}); Hi, I have been on bo2 league play lately with other modders. They somehow end the game without being the host.
If anyone knows how people do this on Their CFW ps3. Please Reply !! Drack

Thanks! Smile
(adsbygoogle = window.adsbygoogle || []).push({});
08-14-2015, 11:17 AM #11
For a better answer, check out You must login or register to view this content..
I explained how it can be done, you can use this to find it for other cods aswell Happy
08-14-2015, 03:43 PM #12
Adrian
Adrian is back!
Originally posted by XiRw View Post
That'd be amazing, thanks in advance Adrian.


Ok man,

Here is the code for C++:
    char buffer[0x100];
Sprintf(buffer, "cmd mr %i %i %s", *(int*)(0xF109E8 + 0x13B4), 3, "endround");
Cbuf_AddText(0, buffer);


And here is the code for C#, this has not been tested as i just coded it from the C++.
    string servercmd = "cmd mr " + PS3.Extension.ReadInt32(0x109E8 + 0x13B4) + " " + 3 + " endround";
RPC.Call(0x0313C18, 0, servercmd);


You will need RPC to call the function, so here is RPC:
    public class RPC
{
public static int Call(uint func_address, params object[] parameters)
{
int length = parameters.Length;
int index = 0;
UInt32 num3 = 0;
UInt32 num4 = 0;
UInt32 num5 = 0;
UInt32 num6 = 0;
while (index < length)
{
if (parameters[index] is int)
{
PS3.Extension.WriteInt32(0x10020000 + (num3 * 4), (int)parameters[index]);
num3++;
}
else if (parameters[index] is UInt32)
{
PS3.Extension.WriteUInt32(0x10020000 + (num3 * 4), (UInt32)parameters[index]);
num3++;
}
else
{
UInt32 num7;
if (parameters[index] is string)
{
num7 = 0x10022000 + (num4 * 0x400);
PS3.Extension.WriteString(num7, Convert.ToString(parameters[index]));
PS3.Extension.WriteUInt32(0x10020000 + (num3 * 4), num7);
num3++;
num4++;
}
else if (parameters[index] is float)
{
PS3.Extension.WriteFloat(0x10020024 + (num5 * 4), (float)parameters[index]);
num5++;
}
else if (parameters[index] is float[])
{
float[] input = (float[])parameters[index];
num7 = 0x10021000 + (num6 * 4);
PS3.Extension.WriteUInt32(0x10020000 + (num3 * 4), num7);
num3++;
num6 += (UInt32)input.Length;
}
}
index++;
}
PS3.Extension.WriteUInt32(0x1002004C, func_address);
Thread.Sleep(20);
return PS3.Extension.ReadInt32(0x10020050);
}
private static void Enable()
{
uint function_address = 0x7AA050;
PS3.SetMemory(function_address, new byte[] { 0x4E, 0x80, 0x00, 0x20 });
Thread.Sleep(20);
byte[] memory = new byte[]
{ 0x7C, 0x08, 0x02, 0xA6, 0xF8, 0x01, 0x00, 0x80, 0x3C, 0x60, 0x10, 0x02, 0x81, 0x83, 0x00, 0x4C,
0x2C, 0x0C, 0x00, 0x00, 0x41, 0x82, 0x00, 0x64, 0x80, 0x83, 0x00, 0x04, 0x80, 0xA3, 0x00, 0x08,
0x80, 0xC3, 0x00, 0x0C, 0x80, 0xE3, 0x00, 0x10, 0x81, 0x03, 0x00, 0x14, 0x81, 0x23, 0x00, 0x18,
0x81, 0x43, 0x00, 0x1C, 0x81, 0x63, 0x00, 0x20, 0xC0, 0x23, 0x00, 0x24, 0xc0, 0x43, 0x00, 0x28,
0xC0, 0x63, 0x00, 0x2C, 0xC0, 0x83, 0x00, 0x30, 0xC0, 0xA3, 0x00, 0x34, 0xc0, 0xC3, 0x00, 0x38,
0xC0, 0xE3, 0x00, 0x3C, 0xC1, 0x03, 0x00, 0x40, 0xC1, 0x23, 0x00, 0x48, 0x80, 0x63, 0x00, 0x00,
0x7D, 0x89, 0x03, 0xA6, 0x4E, 0x80, 0x04, 0x21, 0x3C, 0x80, 0x10, 0x02, 0x38, 0xA0, 0x00, 0x00,
0x90, 0xA4, 0x00, 0x4C, 0x90, 0x64, 0x00, 0x50, 0xE8, 0x01, 0x00, 0x80, 0x7C, 0x08, 0x03, 0xA6,
0x38, 0x21, 0x00, 0x70, 0x4E, 0x80, 0x00, 0x20 };
PS3.SetMemory(function_address + 4, memory);
PS3.SetMemory(0x10020000, new byte[0x2854]);
PS3.SetMemory(function_address, new byte[] { 0xF8, 0x21, 0xFF, 0x91 });
//PS3.SetMemory(0x3DBF70, new byte[] { 0x60, 0x00, 0x00, 0x00 });
PS3.SetMemory(0x30010000, new byte[] { 0x01 });

}
public static void Init()
{
if (PS3.Extension.ReadByte(0x30010000) == 1)
Console.Write("RPC Already Enabled"); //RPC is enabled
else
Enable(); //Enable RPC
}

public static void iPrintln(int Client, string Text)
{
SV_GameSendServerCommand(Client, "O \"" + Text + "\"");
}

public static void iPrintlnBold(int Client, string Text)
{
SV_GameSendServerCommand(Client, "< \"" + Text + "\"");
}
public static void CBuf_Addtext(string Command)
{
RPC.Call(0x0313C18, 0, Command);
}

public static void SV_GameSendServerCommand(int Client, string Command)
{
RPC.Call(0x0349F6C, Client, 1, Command);
}
}
public static uint G_Entity(int Client, uint Mod = 0)
{
return (0x16B9F20 + (0x31C * (uint)Client) + Mod);
}
09-17-2015, 10:25 PM #13
Originally posted by Adrian View Post
Ok man,

Here is the code for C++:
    char buffer[0x100];
Sprintf(buffer, "cmd mr %i %i %s", *(int*)(0xF109E8 + 0x13B4), 3, "endround");
Cbuf_AddText(0, buffer);


And here is the code for C#, this has not been tested as i just coded it from the C++.
    string servercmd = "cmd mr " + PS3.Extension.ReadInt32(0x109E8 + 0x13B4) + " " + 3 + " endround";
RPC.Call(0x0313C18, 0, servercmd);


You will need RPC to call the function, so here is RPC:
    public class RPC
{
public static int Call(uint func_address, params object[] parameters)
{
int length = parameters.Length;
int index = 0;
UInt32 num3 = 0;
UInt32 num4 = 0;
UInt32 num5 = 0;
UInt32 num6 = 0;
while (index < length)
{
if (parameters[index] is int)
{
PS3.Extension.WriteInt32(0x10020000 + (num3 * 4), (int)parameters[index]);
num3++;
}
else if (parameters[index] is UInt32)
{
PS3.Extension.WriteUInt32(0x10020000 + (num3 * 4), (UInt32)parameters[index]);
num3++;
}
else
{
UInt32 num7;
if (parameters[index] is string)
{
num7 = 0x10022000 + (num4 * 0x400);
PS3.Extension.WriteString(num7, Convert.ToString(parameters[index]));
PS3.Extension.WriteUInt32(0x10020000 + (num3 * 4), num7);
num3++;
num4++;
}
else if (parameters[index] is float)
{
PS3.Extension.WriteFloat(0x10020024 + (num5 * 4), (float)parameters[index]);
num5++;
}
else if (parameters[index] is float[])
{
float[] input = (float[])parameters[index];
num7 = 0x10021000 + (num6 * 4);
PS3.Extension.WriteUInt32(0x10020000 + (num3 * 4), num7);
num3++;
num6 += (UInt32)input.Length;
}
}
index++;
}
PS3.Extension.WriteUInt32(0x1002004C, func_address);
Thread.Sleep(20);
return PS3.Extension.ReadInt32(0x10020050);
}
private static void Enable()
{
uint function_address = 0x7AA050;
PS3.SetMemory(function_address, new byte[] { 0x4E, 0x80, 0x00, 0x20 });
Thread.Sleep(20);
byte[] memory = new byte[]
{ 0x7C, 0x08, 0x02, 0xA6, 0xF8, 0x01, 0x00, 0x80, 0x3C, 0x60, 0x10, 0x02, 0x81, 0x83, 0x00, 0x4C,
0x2C, 0x0C, 0x00, 0x00, 0x41, 0x82, 0x00, 0x64, 0x80, 0x83, 0x00, 0x04, 0x80, 0xA3, 0x00, 0x08,
0x80, 0xC3, 0x00, 0x0C, 0x80, 0xE3, 0x00, 0x10, 0x81, 0x03, 0x00, 0x14, 0x81, 0x23, 0x00, 0x18,
0x81, 0x43, 0x00, 0x1C, 0x81, 0x63, 0x00, 0x20, 0xC0, 0x23, 0x00, 0x24, 0xc0, 0x43, 0x00, 0x28,
0xC0, 0x63, 0x00, 0x2C, 0xC0, 0x83, 0x00, 0x30, 0xC0, 0xA3, 0x00, 0x34, 0xc0, 0xC3, 0x00, 0x38,
0xC0, 0xE3, 0x00, 0x3C, 0xC1, 0x03, 0x00, 0x40, 0xC1, 0x23, 0x00, 0x48, 0x80, 0x63, 0x00, 0x00,
0x7D, 0x89, 0x03, 0xA6, 0x4E, 0x80, 0x04, 0x21, 0x3C, 0x80, 0x10, 0x02, 0x38, 0xA0, 0x00, 0x00,
0x90, 0xA4, 0x00, 0x4C, 0x90, 0x64, 0x00, 0x50, 0xE8, 0x01, 0x00, 0x80, 0x7C, 0x08, 0x03, 0xA6,
0x38, 0x21, 0x00, 0x70, 0x4E, 0x80, 0x00, 0x20 };
PS3.SetMemory(function_address + 4, memory);
PS3.SetMemory(0x10020000, new byte[0x2854]);
PS3.SetMemory(function_address, new byte[] { 0xF8, 0x21, 0xFF, 0x91 });
//PS3.SetMemory(0x3DBF70, new byte[] { 0x60, 0x00, 0x00, 0x00 });
PS3.SetMemory(0x30010000, new byte[] { 0x01 });

}
public static void Init()
{
if (PS3.Extension.ReadByte(0x30010000) == 1)
Console.Write("RPC Already Enabled"); //RPC is enabled
else
Enable(); //Enable RPC
}

public static void iPrintln(int Client, string Text)
{
SV_GameSendServerCommand(Client, "O \"" + Text + "\"");
}

public static void iPrintlnBold(int Client, string Text)
{
SV_GameSendServerCommand(Client, "< \"" + Text + "\"");
}
public static void CBuf_Addtext(string Command)
{
RPC.Call(0x0313C18, 0, Command);
}

public static void SV_GameSendServerCommand(int Client, string Command)
{
RPC.Call(0x0349F6C, Client, 1, Command);
}
}
public static uint G_Entity(int Client, uint Mod = 0)
{
return (0x16B9F20 + (0x31C * (uint)Client) + Mod);
}


Or togglemenu;openmenu popup_endgame that works too
09-18-2015, 04:44 AM #14
Adrian
Adrian is back!
Originally posted by TheDecryptor View Post
Or togglemenu;openmenu popup_endgame that works too


That's GSC, this thread is based around non host end game. The question has already been answered, next time please try not to bump old question threads.

-Closed the thread so the thread doesn't keep getting bumped.

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo