Raised This Month: $32 Target: $400
 8% 

[META] ERROR: Failed to find memloc for regcmd 'orpheu'


Post New Thread Reply   
 
Thread Tools Display Modes
Spirit_12
Veteran Member
Join Date: Dec 2012
Location: Toronto, CA
Old 11-11-2017 , 21:23   Re: [META] ERROR: Failed to find memloc for regcmd 'orpheu'
Reply With Quote #11

Signatures are specific code locations that you can hook with Orpheu directly from the game binary. Like in this case you are hooking the player spawn function and overriding it. Orpheu signatures are stored in configs/orpheu folder.

In your case look at configs/orpheu/functions/InstallGameRules file.

PHP Code:
{
    
"name" "InstallGameRules",
    
"library" "mod",
    
"return" 
    {
        
"type" "CHalfLifeMultiplay *"
    
},
    
"identifiers":
    [
        {
            
"os" "windows",
            
"mod" "cstrike",
            
"value" : [0x68,"*","*","*","*",0xFF,"*","*","*","*","*",0x83,0xC4,0x4,0xFF,"*","*","*","*","*",0xA1,"*","*","*","*",0xD9,0x40,0x14],
            
"info" "Works for Condition Zero"
        
},
        {
            
"os" "linux",
            
"mod" "cstrike",
            
"value" "InstallGameRules__Fv"
        
},  


This is the old signature, which can be clearly seen for Linux entry. Here is the updated signature. Replace the contents of your InstallGameRules file with this and it should work or at the very least stop the crashes.

PHP Code:
{
    
"name" "InstallGameRules",
    
"library" "mod",
    
"return" :
    {
        
"type" "CGameRules *"
    
},
    
"identifiers":
    [
        {
            
"os" "windows",
            
"mod" "cstrike",
            
"value" : [0x68,"*","*","*","*",0xFF,"*","*","*","*","*",0x83,"*","*",0xFF,"*","*","*","*","*",0xA1,"*","*","*","*",0xD9,"*","*",0xD8,"*","*","*","*","*",0xDF]
        },
        {
            
"os" "linux",
            
"mod" "cstrike",
            
"value" "_Z16InstallGameRulesv"
        
}
    ]

__________________
Spirit_12 is online now
ZEDD_Intensity
Senior Member
Join Date: Jun 2016
Old 11-12-2017 , 05:42   Re: [META] ERROR: Failed to find memloc for regcmd 'orpheu'
Reply With Quote #12

Quote:
Originally Posted by Spirit_12 View Post
Signatures are specific code locations that you can hook with Orpheu directly from the game binary. Like in this case you are hooking the player spawn function and overriding it. Orpheu signatures are stored in configs/orpheu folder.
In your case look at configs/orpheu/functions/InstallGameRules file.
This is the old signature, which can be clearly seen for Linux entry. Here is the updated signature. Replace the contents of your InstallGameRules file with this and it should work or at the very least stop the crashes.
]
Greetings, Spirit,

Thanks a lot for your detailed prompt reply.

I did exactly what you said.
Just for a bit more clarity of the case, "InstallGameRules" file was never provided with the download of Orpheu v2.6.3. The folders "functions" and "Virtual Functions" were empty. No InstallGameRules file came alongwith the stock download. The file I HAD was from the Plugin, brr_nokill as an Additional Content.

The old InstallGameRules I had (without applying Spirit_12's update) :
PHP Code:
{
    
"name" "InstallGameRules",
    
"library" "mod",
    
"return" 
    {
        
"type" "CHalfLifeMultiplay *"
    
},
    
"identifiers":
    [
        {
            
"os" "windows",
            
"mod" "cstrike",
            
"value" : [0x68,"*","*","*","*",0xFF,"*","*","*","*","*",0x83,0xC4,0x4,0xFF,"*","*","*","*","*",0xA1,"*","*","*","*",0xD9,0x40,0x14],
            
"info" "Works for Condition Zero"
        
},
        {
            
"os" "linux",
            
"mod" "cstrike",
            
"value" "InstallGameRules__Fv"
        
},
        {
            
"os" "windows",
            
"mod" "SvenCoop",
            
"value" : [0x55,0x8B,0xEC,0x6A,0xFF,0x68,"*","*","*","*",0x64,"*","*","*","*","*",0x50,0x81,"*","*","*","*","*",0xA1,"*","*","*","*",0x33,0xC5,0x89,0x45,0xF0]
        },
        {
            
"os" "windows",
            
"mod" "ns",
            
"value" : [0x6A,0xFF,0x68,"*","*","*","*",0x64,"*","*","*","*","*",0x50,0x64,"*","*","*","*","*","*",0x51,0x68]
        },
        {
            
"os" "linux",
            
"mod" "ns",
            
"value" "_Z16InstallGameRulesv"
        
},
        {
            
"os" "windows",
            
"mod" "dod",
            
"value" : [0x55,0x8B,0xEC,0x83,0xEC,0x48,0x53,0x56,0x57,0x68,"*","*","*","*",0xFF,"*","*","*","*","*",0x83,0xC4,0x04,0xFF]
        },
        {
            
"os" "linux",
            
"mod" "dod",
            
"value" "InstallGameRules__Fv"
        
},
        {
            
"os" "windows",
            
"mod" "valve",
            
"value" : [0x68,"*","*","*","*",0xFF,"*","*","*","*","*",0x83,0xC4,0x04,0xFF,"*","*","*","*","*",0x8B]
        },
        {
            
"os" "linux",
            
"mod" "valve",
            
"value" "InstallGameRules__Fv"
        
},
        {
            
"os" "windows",
            
"mod" "ts",
            
"value" : [0x6A,0xFF,0x68,"*","*","*","*",0x64,"*","*","*","*","*",0x50,0x64,"*","*","*","*","*","*",0x51,0x56,0x68]
        },
        {
            
"os" "linux",
            
"mod" "ts",
            
"value" "InstallGameRules__Fv"
        
}         
    ]

With this file, the server could not be started.
After applying Spirit_12's patch, the server could successfully start, as it's empty at first.

After a couple minutes, it crashed. I noticed a thing, when a player tries to connect, and brr_nokill doens't let it spawn and to do that, it accesses the InstallGameRules file, and that's exactly when the crash happens, that's what I assume as it never crashed with 0 players, no traffic. So, we're definitely getting somewhere.


Also, I also had another file from the plugin as an Additional Orpheu download in /configs/orpheu/virtualfunctions/CGameRules/FPlayerCanRespawn

If it has anything to do with it, the contents of that file are down below :
PHP Code:
{
    
"name" "FPlayerCanRespawn",
    
"class" "CGameRules",
    
"library" "mod",
    
"return" 
    {
        
"type" "bool"
    
},
    
"arguments" 
    [
        {
            
"type" "CBasePlayer *"
        
}
    ],
    
"indexes" 
    [
        {
            
"os" "windows",
            
"mod" "SvenCoop",
            
"value" 20
        
},
        {
            
"os" "windows",
            
"mod" "cstrike",
            
"value" 20
        
},
        {
            
"os" "linux",
            
"mod" "cstrike",
            
"value" 22
        
},
        {
            
"os" "windows",
            
"mod" "dod",
            
"value" 20
        
},
        {
            
"os" "linux",
            
"mod" "dod",
            
"value" 22
        
},
        {
            
"os" "windows",
            
"mod" "valve",
            
"value" 20
        
},
        {
            
"os" "linux",
            
"mod" "valve",
            
"value" 22
        
},
        {
            
"os" "windows",
            
"mod" "ns",
            
"value" 20
        
},
        {
            
"os" "linux",
            
"mod" "ns",
            
"value" 22
        
},
        {
            
"os" "windows",
            
"mod" "ts",
            
"value" 19
        
},
        {
            
"os" "linux",
            
"mod" "ts",
            
"value" 21
        
},
        {
            
"os" "windows",
            
"mod" "tfc",
            
"value" 20
        
},
        {
            
"os" "linux",
            
"mod" "tfc",
            
"value" 22
        
}
    ]

I hope this helps in analyzing the problem a bit deeper.
Thanks again for all the help, couldn't have expected any better!

Regards,
ZEDD
ZEDD_Intensity is offline
klippy
AlliedModders Donor
Join Date: May 2013
Location: Serbia
Old 11-12-2017 , 07:10   Re: [META] ERROR: Failed to find memloc for regcmd 'orpheu'
Reply With Quote #13

Those directories were empty because Orpheu ships with no (or maybe just a few) signature files. It's up to plugin developers that use Orpheu to create and keep them updated.

That being said, FPlayerCanRespawn could be outdated too. Did the plugin ship with any other Orpheu signature files? (looks like it didn't)

Also I just checked InstallGameRules that I've used recently, and the one Spirit_12 posted is supposed to work. So InstallGameRules shouldn't be the problem anymore, it's something else.

EDIT:
I've just checked the binary. It looks like FPlayerCanRespawn is correct, at least for Counter-Strike. There could be something that the plugin doesn't do correctly and produces a crash.

Last edited by klippy; 11-12-2017 at 07:20.
klippy is offline
ZEDD_Intensity
Senior Member
Join Date: Jun 2016
Old 11-12-2017 , 11:52   Re: [META] ERROR: Failed to find memloc for regcmd 'orpheu'
Reply With Quote #14

Quote:
Originally Posted by KliPPy View Post
Those directories were empty because Orpheu ships with no (or maybe just a few) signature files. It's up to plugin developers that use Orpheu to create and keep them updated.

That being said, FPlayerCanRespawn could be outdated too. Did the plugin ship with any other Orpheu signature files? (looks like it didn't)

Also I just checked InstallGameRules that I've used recently, and the one Spirit_12 posted is supposed to work. So InstallGameRules shouldn't be the problem anymore, it's something else.

EDIT:
I've just checked the binary. It looks like FPlayerCanRespawn is correct, at least for Counter-Strike. There could be something that the plugin doesn't do correctly and produces a crash.
Greetings,

Thanks for the update. And Yep, that is correct that Orpheu package did NOT ship with any in-built functions or virutalfunc. Also, now that it's confirmed that FPlayerCanRespawn isn't an error, there's nothing except the plugin source we can think of, that can be the real reason. And so for that, I did post the Source in my first thread.

Quote:
Originally Posted by Sylwester View Post
Block Reconnect Respawn
It'd be a really great if we could hear a word from the Developer himself, in case there's any final steps that we could do for this.
As I can confirm, Orpheu has been successfully installed JUST the way I was told to do it. If nothing can be done, I'll stick with brr_kill, which kills a client installed on a connection or...
Quote:
Originally Posted by wickedd View Post
Will check the source for this plugin if there's anything I can do about it. Seems like server owners aren't having much of a problem with plugin that wickedd mentioned, except me.

I'm also having totally strange problem on my server that I really wanted to ask help for, but I'm not really sure if I'll have to create a new thread for that, or I can keep this one updated. It's from another plugin by Sylwester, that I've posted right here.

Again, thanks for all the help guys!

Regards,
ZEDD

Last edited by ZEDD_Intensity; 11-12-2017 at 11:56. Reason: basic typos
ZEDD_Intensity is offline
wickedd
Veteran Member
Join Date: Nov 2009
Old 11-12-2017 , 12:10   Re: [META] ERROR: Failed to find memloc for regcmd 'orpheu'
Reply With Quote #15

How are you testing the plugin I posted, with real players or bots?
__________________
Just buy the fucking game!!!!
I hate No-Steamers and lazy ass people.
wickedd is offline
ZEDD_Intensity
Senior Member
Join Date: Jun 2016
Old 11-12-2017 , 13:43   Re: [META] ERROR: Failed to find memloc for regcmd 'orpheu'
Reply With Quote #16

Quote:
Originally Posted by wickedd View Post
How are you testing the plugin I posted, with real players or bots?
Greetings,

Thanks for the reply.
The plugin was tested on a Public Deathrun Server that I own, with about 21 active players at the time of testing. It seemed like players could spawn and start the run even after the plugin installed.

Hope that makes sense.

Regards,
ZEDD
ZEDD_Intensity is offline
wickedd
Veteran Member
Join Date: Nov 2009
Old 11-12-2017 , 14:18   Re: [META] ERROR: Failed to find memloc for regcmd 'orpheu'
Reply With Quote #17

Type these in the server console and post the outputs here

status
meta version
amxx version
version
__________________
Just buy the fucking game!!!!
I hate No-Steamers and lazy ass people.
wickedd is offline
ZEDD_Intensity
Senior Member
Join Date: Jun 2016
Old 11-12-2017 , 14:24   Re: [META] ERROR: Failed to find memloc for regcmd 'orpheu'
Reply With Quote #18

Quote:
Originally Posted by wickedd View Post
Type these in the server console and post the outputs here

status
meta version
amxx version
version
AMXX VERSION
PHP Code:
amxx version
AMX Mod X 1.8.2
Authors

         
David "BAILOPAN" AndersonPavol "PM OnoTo" MarkoFelix "SniperBeamer" Geyer
         Jonny 
"Got His Gun" BergstromLukasz "SidLuke" Wlasinski
         Christian 
"Basic-Master" HammacherBorja "faluco" Ferrer
         Scott 
"Damaged Soul" Ehlert
Compiled
Feb 14 201300:55:00
URL
:http://www.amxmodx.org/
Core modeJIT 
META VERSION
PHP Code:
meta version
Metamod v1.21.1
-am  2013-09-26 (5:13)
by Will Day <willday@metamod.org>
   
http://www.metamod.org/
compiledSep 26 201317:09:41 -0500 (optimized)
ifvers5:13 
VERSION
PHP Code:
version
Protocol version 48
Exe version 1.1.2.7
/Stdio (cstrike)
Exe build09:10:05 Jul  7 2017 (7561
STATUS
Status is SteamIDs of me and some players playing on the server at the time of execution. I'm sorry but should I really post that? Sorry for any misconception.

Regards,
ZEDD

Last edited by ZEDD_Intensity; 11-12-2017 at 17:09.
ZEDD_Intensity is offline
wickedd
Veteran Member
Join Date: Nov 2009
Old 11-12-2017 , 14:34   Re: [META] ERROR: Failed to find memloc for regcmd 'orpheu'
Reply With Quote #19

I know what status shows, but don't worry about.
I don't know why the plugin isn't working. I probably will test it myself when I have time.
__________________
Just buy the fucking game!!!!
I hate No-Steamers and lazy ass people.
wickedd is offline
Spirit_12
Veteran Member
Join Date: Dec 2012
Location: Toronto, CA
Old 11-12-2017 , 16:16   Re: [META] ERROR: Failed to find memloc for regcmd 'orpheu'
Reply With Quote #20

Usually, I don't get involved this much with plugin threads, but your way with words made me change my mind.

Add -condebug parameter to your server's startup line. This will create a log of everything that happens in your console and save it in your cstrike folder in console.log file. Bring us the output and we can further analyze and pin point the problem.
__________________

Last edited by Spirit_12; 11-12-2017 at 16:19.
Spirit_12 is online now
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 17:43.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode