matoom/frostbite

Ruby 3.2 Compatibility

Opened this issue · 9 comments

Doing some initial testing of Ruby 3.2 and appears that the built-in scripting engine may not be compatible. Was testing due to new version of Lich 5.7.0 does support Ruby 3.2 (as well as 2.7 and 2.6).

matoom commented

Not entirely sure. I tried it out on my end and on surface level everything seems be functional.

When running a script with:

echo RUBY_VERSION

I get:

[Executing script: ruby.rb, Press ESC to abort.]
3.2.2
[Script finished, Execution time - 00:00.]

Based on this pretty sure i got the correct version at least.

Is there a specific use-case i could try or how do these issues manifest?

Not specifically no. I know Binu was experimenting with it and said some of the internal Frostbite functions were giving some odd interaction. I can see if he can provide any specifics.

matoom commented

That would be helpful. I have a few scripts that i use for API testing purposes but testing your own stuff is never a sure bet. There could be some edge cases that i've completely missed.

BinuDR commented

This is the message I'm getting.

[Executing script: go.rb, Press ESC to abort.]
The script process failed to start. Either the Ruby installation is missing, or you may have insufficient permissions to invoke Ruby installation.
BinuDR commented

image

matoom commented

Ok, those are kinda two different concepts. What you have there is the configuration for lich integration. It's only purpose is to launch lich and bypass the need to reroute traffic through the hosts file or any kind of hosts file hacking. Everything concerning the lich configuration is applicable to lich launcher only.

When you run lich in client:
image

image
(my outdated lich no longer runs on ruby 3.2 but this is what the command more or less would look like to launch it)

I think it's safe to say from the screenshot you posted that your ruby installation doesn't look like a standard installation. By default in order to know where your ruby is located the ruby executable has to be registered in the system path. This process would be automatic when using the official ruby installer or you could do it manually in the windows system menu.

image

TL;DR In order to run standard frostbite scripts you either need to have ruby installed in your system or configure the script interpreter in client.

image
(this has to point to ruby executable unless it's found in your system path)

BinuDR commented

Ah! Thank you, that takes care of the problem! I haven't had to use that field in a long time and forgot about it.

Yep, looks like everything is good then. The odd part is I have the Ruby bin path in my %PATH% environment, but I still had to manually locate the ruby.exe for both Frostbite and Lich in order to have it launch properly. Interesting. Either, way, seems like just updating those in the Script settings section works beautifully. Glad to hear all the internal Frostbite scripts are working no issue so far for you.

If you want to grab the latest version of Lich that is Ruby 3.2 compatible you can grab one of the RC releases from https://github.com/elanthia-online/lich-5/releases to play with it. We're very close to shipping it for mass release any day now.

Thanks for the time and looking forward to using Frostbite now myself!

matoom commented

Definitely need to update, i only just now realized when i was trying load everything up again. I was still on ruby 2.7 last week. Truth be told i'm not up to date with the all latest developments since i've been away from the game for many years now. There's always something new coming up that's taking my attention away from dragonrealms but i'll get back eventually.

It is indeed odd that it doesn't load from environment. All i can think of is in some instances it might need a restart/refresh for the environment settings to take effect.