CubeCoders / AMPTemplates

For the AMP community to share Generic Module templates.
MIT License
93 stars 287 forks source link

Request for new game addition: Renegade X #367

Open egtechgeek opened 1 year ago

egtechgeek commented 1 year ago

Module Request

Game Information:

Game Title: Rengade X How to obtain: https://wiki.totemarts.games/wiki/Linux_Guide#winetricks Suppoted OSs: Officially, Windows. Unofficially Linux w/ WINE Supports RCON/Console input? Uses UDK Engine, which should support some modified form of RCON.

I confirm:

PhonicUK commented 1 year ago

I'm not seeing any reference to any kind of separate, dedicated server application?

egtechgeek commented 1 year ago

Based on what i've read here: https://wiki.totemarts.games/wiki/Server#Starting_up_your_server It looks like the dedicated server application is downloaded and extracted as a part of the client, but after extracting and installing, it would appear that it can be run standalone.

fffreak9999 commented 4 months ago

I would also like to see it available in here. The game client acts as the server client when you use the server command line argument

E.g: udk.exe server CNC-Walls?AdminPassword={}?GamePassword={} -port=7777

I can help you understand the configuration files also (as one of the oldest server hosting for the game and as a former developer of the Renegade X game)

Greelan commented 4 months ago

It's the need to run the client and then shut it down that creates the issue. Doesn't lend itself to a headless installation. Unless you know another way, such as with command line flags

fffreak9999 commented 4 months ago

It has RCON that can trigger a client shutdown using the exit command, you could also force terminate the process

egtechgeek commented 4 months ago

I have researched and dabbled with this over the last year, since my first post. The first time chain of events for the template script would likely look something like this: -deploy new docker container -install wine,, winetricks, mono, DXVK, and other pre-reqs -download game launcher -start vnc server/viewer to run launcher and download game files -after game files are downloaded, server launch can run via script, and controlled via RCON

The game is currently available to run on Linux using Lutris. Those scripts may be helpful? This link as well: https://wiki.totemarts.games/wiki/Linux_Guide

fffreak9999 commented 4 months ago

If you need any help answering questions, feel free to reach out to me, I’ll answer what I can.

As for the lutris scripts I believe most of them don’t work that well, but people did manage to get them working a long time ago.

Greelan commented 4 months ago

This really won't be viable in AMP. AMP is not designed as a docker frontend where you get a tailored prebuilt image specifically for a particular server. You could do that yourself, but it won't be for general use

PhonicUK commented 4 months ago

The requirement that you use VNC to get it going makes it an absolute non-starter. The game devs should be pressured into building a proper tool. Closing until such time.

egtechgeek commented 1 month ago

If you need any help answering questions, feel free to reach out to me, I’ll answer what I can.

As for the lutris scripts I believe most of them don’t work that well, but people did manage to get them working a long time ago.

fffreak9999, Are you on the discord? Or is there any we we could collaborate on this without tying up this issue thread until we've actually got something workable?

fffreak9999 commented 1 month ago

If you need any help answering questions, feel free to reach out to me, I’ll answer what I can. As for the lutris scripts I believe most of them don’t work that well, but people did manage to get them working a long time ago.

fffreak9999, Are you on the discord? Or is there any we we could collaborate on this without tying up this issue thread until we've actually got something workable?

I am in the game’s Discord server or you can DM me at fffreak9999 on discord.

egtechgeek commented 1 month ago

request sent

egtechgeek commented 4 weeks ago

The requirement that you use VNC to get it going makes it an absolute non-starter. The game devs should be pressured into building a proper tool. Closing until such time.

PhonicUK, any chance that we can get this reopened? We have some new developments: -VNC no longer required. -Lutris no longer required. -Game server download, installation, and configuration via command line, successfully tested and confirmed working. -I have an AMP template in the works that i am testing, i have a tech-support topic open on the discord requesting clarification of missing uid key.

Greelan commented 4 weeks ago

Do you have instructions for the current server setup you can link to? You're welcome to struggle with getting a template to work but it would be quicker for me to do it xD

Greelan commented 4 weeks ago

This wiki still suggests it is not really suited for automation in AMP: https://wiki.totemarts.games/wiki/Server

egtechgeek commented 4 weeks ago

That wiki is substantially outdated. It was a lot of trial and error, but i have many mental notes that i need to put to paper (or keyboard). This is my first ever attempt at making a template, so for testing i make the amp template for windows only, but i am running it locally on a debian virtual machine. egtechgeek/renx_amp are the base files for getting it to cooperate with amp headless. Would you be willing to join a discord group with myself and fffreak9999? he's been incredibly helpful with this, from the actual game side

Greelan commented 4 weeks ago

Nice work figuring out how to run it headless! Not to be a dick about it, but it would take me 10x the time to work you through the ins and outs of the generic module rather than just doing it myself 😀

egtechgeek commented 4 weeks ago

I have no problems at all if you want to do the generic module work. I need to put my linux commands on to paper, so that you know what needs to go into the generic template... And i also need to write a few bash scripts for the linux side to automate the installation and configuration of wine, mono, and DXVK

Greelan commented 4 weeks ago

Don't bother writing scripts, just outline what is needed

Greelan commented 4 weeks ago

I see you are packaging the game client on your own GH. That's a bit of a no-no with AMP integration due to copyright and integrity issues. Is there a way to run the installer headless to install in the desired location?

These are the sorts of issues with this server that presents challenges for AMP integration.

egtechgeek commented 4 weeks ago

I see you are packaging the game client on your own GH. That's a bit of a no-no with AMP integration due to copyright and integrity issues. Is there a way to run the installer headless to install in the desired location?

These are the sorts of issues with this server that presents challenges for AMP integration.

The official game client is not packaged, nor used. the command line launcher was developed by another github user. I clone everything to my repo for testing and dev just to keep things organized. The final product will be using git submodules.

Greelan commented 4 weeks ago

What's in prerelease.zip then?

egtechgeek commented 4 weeks ago

What's in prerelease.zip then?

Same contents as renx_amp/prerelease. It's currently only for windows, but it's the compiled cli launcher, compiled xdelta for the launcher, and the scripts required in order to headlessly run the launcher, download the game client from the publishers servers, and then launch the actual game.

egtechgeek commented 4 weeks ago

Don't bother writing scripts, just outline what is needed

Will need some scripts to automate install of prerequisites and keep things headless.

Requirements Debian 12: -Wine 9.0 -winetricks -mono-complete -PietJankbal/powershell-wrapper-for-wine

Sources -pminten/totemarts-patcher-cli -jmacd/xdelta-gpl -PietJankbal/powershell-wrapper-for-wine

Greelan commented 4 weeks ago

Right, so you are using a third party tool to get around the limitations of the official installation process? Can you link the repo that you are getting this from?

egtechgeek commented 4 weeks ago

Right, so you are using a third party tool to get around the limitations of the official installation process? Can you link the repo that you are getting this from?

pminten/totemarts-patcher-cli

Greelan commented 4 weeks ago

OK, there are much cleaner ways to do this on both windows and Linux.

BTW, you start the client in the update stages to install the UDK files. How do you stop it?

egtechgeek commented 4 weeks ago

OK, there are much cleaner ways to do this on both windows and Linux.

BTW, you start the client in the update stages to install the UDK files. How do you stop it?

That would be a question best suited for fffreak9999. Historically, i've just terminated the process

egtechgeek commented 4 weeks ago

OK, there are much cleaner ways to do this on both windows and Linux.

BTW, you start the client in the update stages to install the UDK files. How do you stop it?

So, it isn't a full game client. It is, as it's named, a patcher. It downloads the UDK files, and then in the future, will check and update them as needed. The "patcher" automatically terminates after it's done what it needs to do. Were you asking about the udk executable?

Greelan commented 4 weeks ago

Yeah, the last update stage. Not great for the process just to be kept running

egtechgeek commented 4 weeks ago

you confused me a bit. udk.exe does not run at all with the patcher

Greelan commented 4 weeks ago

Your last update stage runs UDK.exe via run_renx.ps1

egtechgeek commented 4 weeks ago

Your last update stage runs UDK.exe via run_renx.ps1

That is not part of updating, nor the patcher. It's simply an easy way for me to append the required arguments to start the game client in server mode. udk.exe cannot run headless without supplemental -args.

I couldn't figure out how to add -args to udk.exe in the amp configuration template tool... so that was my workaround

Greelan commented 4 weeks ago

Right, you're running the server the wrong way in the template, which is what confused me

I will put together a proper template this weekend xD

egtechgeek commented 4 weeks ago

I would be grateful if i could see the raw template you create after you have, so that i can learn the template system better for the future. The Amp configuration generator export data for what i've done so far is in the github repo, so you can see configuration files, and some configuration and settings. I would like to expand more and the configuration and settings, once i know better how.

Greelan commented 4 weeks ago

Of course, all my dev templates are in my public repo.

I have a working version (for Windows at least) in Greelan/AMPTemplates:dev. You can add that repo to your config repos in AMP and try it out.

I can get the server to install and start on Linux, but it crashes with shader compiler errors. Seems I haven't got quite the right things installed in the wine prefix. A lot of the info out there is inconsistent, and old.

Greelan commented 4 weeks ago

And now it is running on Linux ...

egtechgeek commented 4 weeks ago

Updating remote source Greelan/AMPTemplates:dev Cloning into 'Greelan-AMPTemplates-dev'... fatal: not in a git directory

Cloned the files into my repo, ran git init, and now i can test the template using my repo. Adding some additional game settings too

egtechgeek commented 4 weeks ago

LIM - Failure to make API call to RenegadeX01: Connection refused (127.0.0.1:8081)

Is this error related to the template manageability?

Besides that, template is running well and stable in Amp on Debian 12. Stand by for a post from fffreak9999 with some issues in Amp on Windows.

fffreak9999 commented 4 weeks ago

Ok, so having attempted to run this in a Windows Environment, AMP based running doesn't work, although the files are generated correctly and in the correct structure. If you attempt to run the game server from the file structure manually things work, but just not through AMP. Log Files.zip I've attached a ZIP folder with a bunch of the log files I have which have been generated. If you need me to do / grab anything else, just let me know, I am more than willing to help.

Greelan commented 4 weeks ago

What version of windows?

egtechgeek commented 4 weeks ago

Windows Server 2023

egtechgeek commented 4 weeks ago

And now it is running on Linux ...

I attempted to add some configurable settings to amp for the game in renegadexconfig.json, but it seems to break the template. Do they need to be added in one of the other files as well?

Greelan commented 4 weeks ago

Bad JSON probably. Show me?

egtechgeek commented 4 weeks ago

Bad JSON probably. Show me?

https://github.com/egtechgeek/AMPTemplates/blob/main/renegadexconfig_Test.json

Greelan commented 4 weeks ago

Yeah, fix your JSON

egtechgeek commented 4 weeks ago

Yeah, fix your JSON

Ah! Found a typo. Question, what "InputType" could be used with amp that would offer a multi-selection, to set the MapRotation options?

Greelan commented 4 weeks ago

AMP can't handle the format of that setting.

BTW, none of your other settings will work unless you also include the ini section in ParamFieldName

egtechgeek commented 4 weeks ago

AMP can't handle the format of that setting. Hopefully in the future, it'll be possible. It's hardly a deal breaker.

BTW, none of your other settings will work unless you also include the ini section in ParamFieldName All of the entries i've added have ParamFieldName values that match the line items in related ini files listed in renegadexmetaconfig.json

Greelan commented 4 weeks ago

You still need the associated ini section

Have a look at the settings I included