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

Ability to launch a secondary client #3860

Open
1 task done
Xenius97 opened this issue Nov 19, 2024 · 12 comments
Open
1 task done

Ability to launch a secondary client #3860

Xenius97 opened this issue Nov 19, 2024 · 12 comments
Labels
enhancement New feature or request

Comments

@Xenius97
Copy link
Contributor

Xenius97 commented Nov 19, 2024

Is your feature request related to a problem? Please describe.

The current solution is not very energy-efficient. You can connect to a server multiple times using a VM or, if you have a notebook, through that. I think there could be a better solution: for instance, if I specify -cl2 or -second (or something similar) through the launcher, it could start a secondary client, similar to how FiveM handles it.

The program would store this setting and only allow access to servers where it is explicitly enabled (e.g., <allow_second_client>1</allow_second_client> -> doesn't allow it by default).
If this is not enabled, you would only be able to connect using the primary (main) client.

Describe the solution you'd like

This solution would make much better use of hardware and remove the need to struggle with VMs.
Second instance should have a different path for resource-priv cache, eg: mods/deathmatch/cl2

Describe alternatives you've considered

No response

Additional context

No response

Security Policy

  • I have read and understood the Security Policy and this issue is not about a cheat or security vulnerability.
@Xenius97 Xenius97 added the enhancement New feature or request label Nov 19, 2024
@TracerDS
Copy link
Contributor

Whats the purpose of it except debugging?
Also its conflicting with #3854

@Xenius97
Copy link
Contributor Author

Whats the purpose of it except debugging?

Honestly, I think it wouldn’t be useful for anything other than debugging, but it would greatly assist server developers in their work. There are surely people among us whose computers can’t handle a VM or who don’t have another machine nearby.

I have the option to run a VM, for example, but even with a shared GPU, MTA becomes unmanageable, achieving only 10-15 FPS even with a 3060 card.

@ds1-e
Copy link
Contributor

ds1-e commented Nov 19, 2024

Whats the purpose of it except debugging? Also its conflicting with #3854

#3854 is opt-in in mtaserver.conf

@ffsPLASMA
Copy link
Contributor

Im not a fan of this as this will open doors for people to abuse. This will add another weak point to client to the already weak AC.

@Fernando-A-Rocha
Copy link
Contributor

There is no conflict with #3584 which will allow clients with same serial on a server.

I support this. For debugging purposes, using Windows VMs is a huge pain in the ass for developers. It would be awesome to run multiple MTA clients on the same machine. If impossible to run more than 1 MTA client with the same GTA game, it could require multiple GTA installations, that's fine I think?

@TracerDS
Copy link
Contributor

I have the option to run a VM, for example, but even with a shared GPU, MTA becomes unmanageable, achieving only 10-15 FPS even with a 3060 card.

I wouldnt say its a GPU's fault unless you have incredible amount of shaders and high quality textures but then its just a skill issue.
I would be more concerned about CPU and RAM as thats what matters mostly for the mta.

@CrosRoad95
Copy link

Im not a fan of this as this will open doors for people to abuse.

What abuse? you will have 10/20 players instead of 9/20 players? maybe you can use it to test bugs? but i can ask friend to do it.
Server can allow to enter two players with same serial, same serial = multi instancing

This should be indeed possible to do, i know pain myself when developing things, i prefer to open public server and ask friend to join rather than run mta in virtual box

@PlatinMTA
Copy link
Contributor

Its really a pain in the ass to run one VM, let alone 2 when you need to test things for 3 players (in some instances this is needed).

So yes it would be really nice to have this.

@Fernando-A-Rocha
Copy link
Contributor

Fernando-A-Rocha commented Nov 19, 2024

VMs take a lot of time to set up, Windows is slow. You need a whole ass PC to run an MTA instance. It'd be so much better to have multiple instance support.

If someone has a guide or a script to automate Windows+GTASA+MTA setup in 1 click, I would be so happy

@botder
Copy link
Member

botder commented Nov 19, 2024

If you use Windows Sandbox, then you can create a config file that automatically mounts a directory (for example Build output directory), and then launch the "VM" with a double-click. You can also run a specific executable/batch on start (LogonCommand). See here.

Fun fact: You can crash your host computer if you crash or freeze the kernel inside Sandbox.

@Xenius97
Copy link
Contributor Author

If you use Windows Sandbox, then you can create a config file that automatically mounts a directory (for example Build output directory), and then launch the "VM" with a double-click. You can also run a specific executable/batch on start (LogonCommand). See here.

Fun fact: You can crash your host computer if you crash or freeze the kernel inside Sandbox.

For a while, I used Windows Sandbox, but there's an issue where the mouse moves at about 1000x speed, making it impossible to control the game no matter what I tried. In terms of performance, it's the same as using a VM, or perhaps even worse.

@Dark-Dragon
Copy link
Contributor

I gotta say testing stuff was much easier when we could simply log into another windows user and start a second instance from there. (Back in the olden days)

I can remember at least 2 separate times when I was going to work on official resources to fix stuff, but having to go through the hurdle of installing a VM just to make sure my fixes work made me not want to bother with it.

I'm guessing there is probably a world where we allow this without bringing in new problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

9 participants