Closed idontyboi closed 1 month ago
I put your flags and set all of their values, except for the non-final ones, to true
. This is the content of my ./Roblox/v463/Server/DevSettingsFile.json
:
Does thos reach your intended result?
I also put the same flags in the client's ClientSettings.json
.
The latest version of RFD does not work due to missing game_container. So using older version and put in the DevSettingsFile.json manually.
Before (Attributes not working.):
After (Attributes working.):
Would it be worth doing the same thing for v348 to increase game compatibility for that release? Maybe backporting functions with reverse engineering? task.wait and task.spawn alone will improve game compatibility such that most games throughout 2021L or really early 2022E will work in 2021E without any changes.
Sorry about the delay. I'm doing a lot of refactoring and have been busy with other things. I'm getting my master's in computer engineering right now and I'm barely out of week 5 of the first semester.
The game_container
isn't working because I'm stòópid and released an unfinished buggy build.
Alright, using an older RFD build that works until then. Playing on RFD is actually more performant than playing on Studio, backporting my place files to 463 instead of 481 to play on it.
2 more flag suggestions to add in v463:
I should have these changes released in RFD version 0.53.1.
Wow, those clouds look great
But I need to delete the database every time I start up the server or I get this:
Traceback (most recent call last):
File "D:\Programs\RFD\Source\web_server\_logic.py", line 273, in __open_from_static
return func(self)
^^^^^^^^^^
File "D:\Programs\RFD\Source\web_server\endpoints\joinscript.py", line 131, in _
self.send_json(perform_join(self) | {
^^^^^^^^^^^^^^^^^^
File "D:\Programs\RFD\Source\web_server\endpoints\joinscript.py", line 55, in perform_join
(user_code, id_num, username) = init_player(
^^^^^^^^^^^^
File "D:\Programs\RFD\Source\web_server\endpoints\joinscript.py", line 14, in init_player
(user_code, id_num, username) = self.server.storage.players.add_player(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: cannot unpack non-iterable NoneType object
Dum.
El lun, 30 sept 2024 a las 10:34, idontyboi @.***>) escribió:
Wow, those clouds look great RobloxScreenShot20240930_131858023.png (view on web) https://github.com/user-attachments/assets/3f28a094-7a00-4562-914c-32e43af56c92
But I need to delete the database every time I start up the server or I get this:
Traceback (most recent call last): File "D:\Programs\RFD\Source\web_server_logic.py", line 273, in __open_from_static return func(self) ^^^^^^^^^^ File "D:\Programs\RFD\Source\webserver\endpoints\joinscript.py", line 131, in self.send_json(perform_join(self) | { ^^^^^^^^^^^^^^^^^^ File "D:\Programs\RFD\Source\web_server\endpoints\joinscript.py", line 55, in perform_join (user_code, id_num, username) = init_player( ^^^^^^^^^^^^ File "D:\Programs\RFD\Source\web_server\endpoints\joinscript.py", line 14, in init_player (user_code, id_num, username) = self.server.storage.players.add_player( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: cannot unpack non-iterable NoneType object
— Reply to this email directly, view it on GitHub https://github.com/Windows81/Roblox-Freedom-Distribution/issues/13#issuecomment-2382744225, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABLI4A65VRZ4CP5TZKTNYFLZZESMRAVCNFSM6AAAAABO2IHZWOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBSG42DIMRSGU . You are receiving this because you commented.Message ID: @.***>
I wasn't able to reproduce your errors. I'm using Python 3.12. Can you send me the GameConfig.toml
or are you using what simply came from ./Examples
?
I simply used what came from Examples "F3X server" using Python 3.12.6. Are the examples outdated or something? It looks like it is because there is also this every time I join
Traceback (most recent call last):
File "D:\Programs\RFD\source\web_server\_logic.py", line 273, in __open_from_static
return func(self)
^^^^^^^^^^
File "D:\Programs\RFD\source\web_server\endpoints\avatar.py", line 73, in _
avatar = avatar_data(id_num, self.game_config)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Programs\RFD\source\web_server\endpoints\avatar.py", line 21, in __init__
.retrieve_avatar_type(id_num, user_code)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Programs\RFD\source\config\types\callable.py", line 38, in __call__
result = self._call(*args, *kwargs.values())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: func.<locals>.f() takes 0 positional arguments but 2 were given
I fixed the config file last night and didn't commit to Github. Feel free to evaluate the file against the structure in the README.
El mar, 1 oct 2024 a las 10:09, idontyboi @.***>) escribió:
I simply used what came from Examples "F3X server" using Python 3.12.6. Are the examples outdated or something? It looks like it is because there is also this every time I join
Traceback (most recent call last): File "D:\Programs\RFD\source\web_server_logic.py", line 273, in open_from_static return func(self) ^^^^^^^^^^ File "D:\Programs\RFD\source\webserver\endpoints\avatar.py", line 73, in avatar = avatar_data(id_num, self.game_config) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\Programs\RFD\source\web_server\endpoints\avatar.py", line 21, in init .retrieve_avatar_type(id_num, user_code) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\Programs\RFD\source\config\types\callable.py", line 38, in call__ result = self._call(args, kwargs.values()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: func.
.f() takes 0 positional arguments but 2 were given — Reply to this email directly, view it on GitHub https://github.com/Windows81/Roblox-Freedom-Distribution/issues/13#issuecomment-2385375085, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABLI4A55YN6YDY6GHZ5KON3ZZJYEBAVCNFSM6AAAAABO2IHZWOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBVGM3TKMBYGU . You are receiving this because you commented.Message ID: @.***>
Those two issues are fixed. I managed to make a RFD instance for a incremental game that I got a place file to, yoooo. Porting from 481 to 463 did not take that long. GetPivot and SetPivot can be replaced with GetBoundingBox and SetPrimaryPartCFrame.
Thank you for implementing these flags so it's actually possible to port this colossal modern game to RFD. Wouldn't trust any 2021E revival for hosting any of my place files. Turkey banned Roblox over here so it's the only way to play.
Final question: I get disconnected with Error 266 after 10 minutes of joining, the DevConsole says it's a "Security timeout" by RCCService. Is it possible for that to be patched?
See if you get the same thing when running 2018M.
I think it might be Windows 7 working against you.
El mié, 2 oct 2024 a las 12:36, idontyboi @.***>) escribió:
Those two issues are fixed. I managed to make a RFD instance for a incremental game that I got a place file to, yoooo. Porting from 481 to 463 did not take that long. image.png (view on web) https://github.com/user-attachments/assets/babc4b93-c966-40a7-82c2-7840bd905cb6
Thank you for giving me the ability to actually play large games :D
Final question: I get disconnected with Error 266 after 10 minutes of joining, the DevConsole says it's a "Security timeout" by RCCService. Is it possible for that to be patched?
— Reply to this email directly, view it on GitHub https://github.com/Windows81/Roblox-Freedom-Distribution/issues/13#issuecomment-2388534286, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABLI4AY35WNIHFNJANUMGLLZZPSD5AVCNFSM6AAAAABO2IHZWOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBYGUZTIMRYGY . You are receiving this because you commented.Message ID: @.***>
I need to try it out myself, but no such problems occurred when I used previous versions of RFD.
El mié, 2 oct 2024 a las 19:29, VisualPlugin Rōblox @.***>) escribió:
See if you get the same thing when running 2018M.
I think it might be Windows 7 working against you.
El mié, 2 oct 2024 a las 12:36, idontyboi @.***>) escribió:
Those two issues are fixed. I managed to make a RFD instance for a incremental game that I got a place file to, yoooo. Porting from 481 to 463 did not take that long. image.png (view on web) https://github.com/user-attachments/assets/babc4b93-c966-40a7-82c2-7840bd905cb6
Thank you for giving me the ability to actually play large games :D
Final question: I get disconnected with Error 266 after 10 minutes of joining, the DevConsole says it's a "Security timeout" by RCCService. Is it possible for that to be patched?
— Reply to this email directly, view it on GitHub https://github.com/Windows81/Roblox-Freedom-Distribution/issues/13#issuecomment-2388534286, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABLI4AY35WNIHFNJANUMGLLZZPSD5AVCNFSM6AAAAABO2IHZWOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBYGUZTIMRYGY . You are receiving this because you commented.Message ID: @.***>
2018 Server RCC crashes on startup. I tried to move the RFD directory from D: to C:, even tried blank files. Analyzed the dump, hoping not much out of it.
WinDbg analyzing actually yielded something. The result is that RCCService of 2018M uses the popcnt
instruction which the poor Pentium E6500 does not have.
FAILED_INSTRUCTION_ADDRESS:
RCCService+60738b
0123738b f30fb8c0 popcnt eax,eax
2021E works just fine. I do not know why in HELL that happens. Analyzing it further, will return with results once I get them. Trying to patch RCCService to avoid this instruction, now testing it
Do you have a public IPv4 or v6 address?
I can try connecting to your 2021E server. Maybe it'll keep me in longer.
As for the popcnt
issue: https://www.partitionwizard.com/partitionmagic/cpu-does-not-have-popcnt.html might help.
As for the Security Timeout
problem: I patched out the jmp
instructions that lead to them being loaded.
Can't guarantee that anything will work.
This actually works to fix the security timeout problem. Tested with a opposite patch that triggers it and I instantly got kicked. Tested further, waited 40 minutes and it did not kick me. Thanks for your help. I don't plan to do anything with 2018, I patch one instruction and several more came up that can't be patched out.
Are you on Matrix or Discord by any chance? I'd like to see what game you're doing.
My usernames are "VisualPlugin:matrix.org" and "21098765432109", respectively.
Figured out how to make 2018 work without POPCNT instructions. This is a very large patch and it's 100% possible that it might break something. But initial test seem to be fine (username is chosen completely randomly from a userID set, so the default user codes are working too):
Fixed the patch
>rccservice.exe
0060738B:F3->E8
0060738C:0F->AA
0060738D:B8->C2
0060738E:C0->6A
0060738F:A8->00
00607390:01->90
0076576B:F3->E8
0076576C:0F->CA
0076576D:B8->DE
0076576E:C0->54
0076576F:A8->00
00765770:01->90
007657BB:F3->E8
007657BC:0F->7A
007657BD:B8->DE
007657BE:C0->54
007657BF:A8->00
007657C0:01->90
0076580B:F3->E8
0076580C:0F->2A
0076580D:B8->DE
0076580E:C0->54
0076580F:A8->00
00765810:01->90
0086B6E9:F3->E8
0086B6EA:0F->69
0086B6EB:B8->7F
0086B6EC:C0->44
0086B6ED:83->00
0086B6EE:E0->90
0086B6EF:01->90
0086B729:F3->E8
0086B72A:0F->32
0086B72B:B8->7F
0086B72C:D1->44
0086B72D:83->00
0086B72E:E2->90
0086B72F:01->90
0086B759:F3->E8
0086B75A:0F->F9
0086B75B:B8->7E
0086B75C:C0->44
0086B75D:83->00
0086B75E:E0->90
0086B75F:01->90
0086B789:F3->E8
0086B78A:0F->C9
0086B78B:B8->7E
0086B78C:C0->44
0086B78D:83->00
0086B78E:E0->90
0086B78F:01->90
008B52EE:F3->E8
008B52EF:0F->64
008B52F0:B8->E3
008B52F1:C0->3F
008B52F2:24->00
008B52F3:01->90
008B5300:F3->81
008B5301:0F->CA
008B5302:B8->00
008B5303:C0->04
008B5304:81->00
008B5305:CA->00
008B5306:00->E8
008B5307:04->4C
008B5308:00->E3
008B5309:00->3F
008B530A:24->00
008B530B:01->90
008B532A:F3->E8
008B532B:0F->0B
008B532C:B8->E3
008B532D:C0->3F
008B532E:A8->00
008B532F:01->90
00CB363A:00->52
00CB363B:00->51
00CB363C:00->53
00CB363D:00->89
00CB363E:00->C2
00CB363F:00->31
00CB3640:00->C0
00CB3641:00->90
00CB3642:00->90
00CB3643:00->85
00CB3644:00->D2
00CB3645:00->74
00CB3646:00->08
00CB3647:00->89
00CB3648:00->D3
00CB3649:00->4B
00CB364A:00->21
00CB364B:00->DA
00CB364C:00->40
00CB364D:00->EB
00CB364E:00->F4
00CB364F:00->90
00CB3650:00->90
00CB3651:00->5B
00CB3652:00->59
00CB3653:00->5A
00CB3654:00->A8
00CB3655:00->01
00CB3656:00->C3
00CB3657:00->E8
00CB3658:00->DE
00CB3659:00->FF
00CB365A:00->FF
00CB365B:00->FF
00CB365C:00->83
00CB365D:00->E0
00CB365E:00->01
00CB365F:00->C3
00CB3660:00->51
00CB3661:00->50
00CB3662:00->89
00CB3663:00->C8
00CB3664:00->E8
00CB3665:00->D1
00CB3666:00->FF
00CB3667:00->FF
00CB3668:00->FF
00CB3669:00->89
00CB366A:00->C2
00CB366B:00->58
00CB366C:00->59
00CB366D:00->83
00CB366E:00->E2
00CB366F:00->01
00CB3670:00->C3
00CB3671:00->90
Multiplayer works, but jumping on the bricks has a chance to completely fling them... does that happen in 2018M standard?
I won't add that just yet. Let me know if anything else happens.
I tried to run my game [a incremental game] in RFD and decided that my game has a minimum Roblox Client requirement of version 470 without sacrificing functionality. Even getting it to run on version 470 required flipping dozens, and dozens of FFlags to enable functionality that was in beta or in prototype stages at the time.
Would like to share those flags that enabling functionality in later versions of Roblox, for version 463:
BasePart.CanTouch
propertyParticleEmitter.Orientation
propertyAutomaticSize
in user interface elements.Clouds
instance.UniversalConstraint
instance.workspace.TouchesUseCollisionGroups
property.AvatarEditorService
MarketplaceService:PromptBundlePurchase
.TeleportService:TeleportAsync
.MeshPartHeads
property in Workspace. It's different fromMeshPartHeadsAndAccessories
and is INCOMPATIBLE with the released version.This will allow running for some more games. Anything newer requires hosting using Studio instead of RCC