View Issue Details

IDProjectCategoryView StatusLast Update
0008064Multi Theft Auto : San AndreasClientpublic2014-07-28 14:08
ReporterkakakskAssigned Toccw 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
PlatformPCOSWindowsOS Version8.1 64-bit
Product Version 
Target Version1.4Fixed in Version1.4 
Summary0008064: Filepath isn't shown in the debug for the client files with no cache
Description

When a client file with no cache saved outputs a warning on the debug, the filepath isn't shown, only the filename.

Steps To Reproduce

Turn off cache saving for any client script and make it cause an error.

TagsNo tags attached.

Activities

kakaksk

2014-02-27 21:30

viewer   ~~0020277

Could something be done about this? I am really lost in all of the files while I don't see the full filepath, only the name (which actually doesn't make any sense).

Dutchman101

2014-02-28 10:15

updater   ~~0020279

A debug warning of a client file will as example only say: client.lua
and with no filepath untraceble, so many scripts use this filename

kakaksk

2014-02-28 10:46

viewer   ~~0020280

Yes, I can't trace which client file it is.

arranTuna

2014-02-28 12:17

manager   ~~0020281

That's why you should never use client.lua it's asking for trouble. There are / were other debug errors that only include file name so using ResourceNameC.lua is recommended.

arezu

2014-02-28 20:07

viewer   ~~0020283

It worked before... 1.3.3?, so it should work now also.

kakaksk

2014-02-28 22:12

viewer   ~~0020284

@arran

Aren't you only a lua scripter?

arranTuna

2014-03-01 20:17

manager   ~~0020292

Last edited: 2014-03-01 20:36

View 2 revisions

The steps to reproduce is cache="false" in meta.xml though the feature is kind of redundant thanks to the more secure luac.mtasa.com.

@kakaksk Yes and how does that matter?

kakaksk

2014-03-01 20:30

viewer   ~~0020293

That's how: "Status: confirmed"

socialz

2014-03-02 09:27

viewer   ~~0020294

I am against this change. Like pointed out by Arran, it's related to the security of scripts. If you want to debug your scripts, then do them with uncompiled scripts and with cache. Then when you've finished your code, compile and place it in without cache. Your scripts shouldn't have any errors in the first place.

kakaksk

2014-03-02 09:39

viewer   ~~0020295

Till I debug it your way, my I all scripts would be leaked already. And I didn't see where Arran pointed my method to be unsecure. He gave no arguments why luac.mtasa.com is a more secure way.

socialz

2014-03-02 15:49

viewer   ~~0020296

No, that's not the point. The point is that the person that gets the script will not be able to determine the location of those errors and fix them just like that, as it only displays a file name, though that's not a big advancement.

kakaksk

2014-03-02 19:30

viewer   ~~0020297

Non-cache method is way more flexible since it takes 5 secs to intend the update to the script file, while using luac.mtasa.com you have to recompile every change made in the script file + replace the script and reload the resource. And I really don't find that compiler safer since non-cache is using some encryption. And what's the point of intending a failed method? If you intend something, then make it to the end.

ccw

2014-03-02 20:26

administrator   ~~0020298

Be aware that cache=false uses no encryption. It sends the plain lua source to the client.

kakaksk

2014-03-02 22:04

viewer   ~~0020299

Last edited: 2014-03-02 22:05

View 2 revisions

But am I right that you always have to recompile the script files and replace the old ones with them when updating the file? Because I am too used to 20 restarts before fixing something.

arranTuna

2014-03-02 22:35

manager   ~~0020300

That's what the compile.bat is for, you put compile.bat in every resource and simply drag and drop the .lua into the compile.bat to get an automatic .luac so using luac.mtasa.com takes 2-3 seconds.

socialz

2014-03-02 22:42

viewer   ~~0020301

Or then make your own resource that initializes other resources, and automatically compiles everything, including images and sounds and other assets.

kakaksk

2014-03-02 23:55

viewer   ~~0020302

One more question. If a client file is capable to run without the server counterpart, will it run while compiled?

ccw

2014-07-19 03:19

administrator   ~~0021379

Last edited: 2014-07-19 03:19

View 2 revisions

The file you uploaded does not show how it was decompiled

Grafu

2014-07-19 15:48

viewer   ~~0021382

Last edited: 2014-07-19 15:48

View 2 revisions

If you wanna know how it was decompiled, ask the guy who send this to my friend. Which thief would give you tips after robbing you? That guy had access only to those cached .luac files compiled with anti-decompilation and encryption settings enabled. And all I can provide you is the original script file, .luac file and this decompiled file from that guy. I have no idea how he did this, so can't give any further explanations. Only thing I can do is provide the files and answer your given questions.

Grafu

2014-07-28 09:22

viewer   ~~0021492

Last edited: 2014-07-28 14:08

View 2 revisions

Fixed in https://code.google.com/p/mtasa-blue/source/detail?r=6724

Issue History

Date Modified Username Field Change