Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sven Co-op v5 support #2

Closed
APGRoboCop opened this issue Jun 12, 2017 · 17 comments
Closed

Sven Co-op v5 support #2

APGRoboCop opened this issue Jun 12, 2017 · 17 comments
Assignees

Comments

@APGRoboCop
Copy link
Member

APGRoboCop commented Jun 12, 2017

No big issue but I believe Sven v5 had their /dlls renamed from hl.dll and hi_i386.so as server.so and server.dll for MM-P to work. I only managed to allow P-37 to work by renaming those newly named dlls back to its original name.

Vanheer and some other HLDS coders used your MM-P src code but made a bad job as they lag more than your official version.

However now that Sven v5 is a Standalone version, it maybe likely that it could break the support for Metamod in the future.

@Frisasky
Copy link
Contributor

hmm if u using mmp on sc5,you can using this version which modified for sc5
https://github.com/jonnyboy0719/MetaMod-P/tree/unstable
i'd recommend @jkivilin merge changes made by jonny to official version

@jkivilin
Copy link
Member

Unfortunately, I cannot easily merge from jonnyboy0719 as that is repository is not based on common git history.

@jkivilin
Copy link
Member

If someone makes the effort to extract needed changes on top jkivilin/metamod-p git tree and send pull request, I'll happily review and merge that.

@APGRoboCop
Copy link
Member Author

Well I'm no C++ pro but I will be sure to test those on my Sven Linux servers. I may have to use -debug mode with the GNU DeBug or GDB on my Linux CMD shell to find key clues if anything crashes - if anyone makes those changes.

If anyone is adventurous to test or run Sven with Metamod on their server, it be best to use this in Linux CMD shell along where you put in the startup:

LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" gdb ./hlds_linux

But don't type the "./sven_run -ip xx.xx.xx.xx_...etc_" like you manually use to start but type as "run -ip xx.xx.xx.xx_...etc_". If the server crashes then you can type "bt" to analyse which binaries and dependencies were involved in the crash...if I am not mistaken.

I'm no Windows Server fan as I don't know how to use other debug tools for Sven Win32.

@jkivilin
Copy link
Member

I made new release that has Frisasky's changes from jonnyboy0719 branch. It's here: https://github.com/jkivilin/metamod-p/releases/tag/1.21p38_beta1

Note: this is completely untested build.

@jkivilin jkivilin self-assigned this Jun 13, 2017
@Frisasky
Copy link
Contributor

Frisasky commented Jun 14, 2017

sven coop have go standalone and add some engine function did not exist in official goldsrc engine, i didnt pull these changes because the potential of broken MMP on other games
time to create sc5 branch?
@jkivilin check out this commit, which add sven coop speicified engine call
jonnyboy0719/MetaMod-P@9e14aaf

@APGRoboCop
Copy link
Member Author

No biggie but it looks like your vers_meta.h requires an update for p38_beta1 as "meta version" from my rcon console shows as p37 - despite that it was recompiled recently.

23:52:35 meta version
23:52:35 Metamod v1.21p37  2013/05/30 (5:13)
         by Will Day
            http://www.metamod.org/
          Patch: Metamod-P (mm-p) v37
          by Jussi Kivilinna
             http://metamod-p.sourceforge.net/
         compiled: Jun 13 2017, 23:20:55 EET (optimized)

@jkivilin
Copy link
Member

Yes, that's me being lazy ;)

@APGRoboCop
Copy link
Member Author

Also for those who cannot load this Metamod-P38 beta build on Linux due to failing to load hl_i386.so from /svencoop/dlls folder, you can simply type in that existing folder from CMD Terminal by using:

$ ln -s server.so hl_i386.so

Sven Coop dev team recommends NOT to rename server.so as hl_i386.so for a sensible reason.

@R4to0
Copy link

R4to0 commented Nov 26, 2017

Instead of symlinking, you can set "gamedll dlls/server.so" in config.ini or use "+localinfo mm_gamedll dlls/server.so" within your startup parameter. The auto-detection worked fine for me.

Anyway, @jkivilin correct if I'm wrong but I believe the Metamod hlsdk headers (mainly eiface.h) are outdated compared to 2013 goldsrc Valve's eiface.h.

Valve's eiface.h:
https://github.com/ValveSoftware/halflife/blob/master/engine/eiface.h#L292
image

Metamod-p eiface.h
https://github.com/jkivilin/metamod-p/blob/master/hlsdk/engine/eiface.h#L304
image

I don't know if that can cause issues or crashes as it seems works fine with old names, but Sven Co-op is based on 2013+ goldsrc update with those renamed functions.

@jkivilin
Copy link
Member

No issue with function pointer names, as those do not end up in to the compiled binary. What is important, is that used types (void, int *, char **, etc) match.

@Scr34mik
Copy link

Scr34mik commented Dec 15, 2017

Launching sven-coop server with https://github.com/jkivilin/metamod-p/releases/tag/1.21p38_beta1 causes it to instantly crash on startup.

@APGRoboCop
Copy link
Member Author

APGRoboCop commented Dec 16, 2017 via email

@Manapo74
Copy link

Manapo74 commented Jan 1, 2018

Hello, please can you create this metamod for Dedicated Windows?

@Frisasky
Copy link
Contributor

Frisasky commented Jan 1, 2018

if you're going to run svencoop, using this
https://github.com/jonnyboy0719/MetaMod-P/releases/tag/2.0.0

@Manapo74
Copy link

Manapo74 commented Jan 9, 2018

For Dedicated Windows metamod unstable, on the map hl_с03 ping server drops to 5-7

@jkivilin
Copy link
Member

jkivilin commented Jan 9, 2018

Closing, this issue was about adding svencoop v5 support, now it has become dumpster of crash reports.

@jkivilin jkivilin closed this as completed Jan 9, 2018
p5-vbnekit pushed a commit to p5-vbnekit/metamod-p.forks that referenced this issue Jan 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants