Lua - Identificando versão

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Lua - Identificando versão

Jonathan [MU ONLINE - LUA]
Olá, boa noite! 

Estou criando scripts pra um jogo chamado mu online, mas preciso saber a versão que é utilizada para poder compilar os arquivos utilizando luac.
Alguém saberia me dizer se se há alguma forma de executar um código que me retorna a versão que está sendo utilizada do lua script no gameserver?

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/lua-br/9af9f912-afd8-469d-a55b-b9856165666eo%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Lua - Identificando versão

Luiz Henrique de Figueiredo
> preciso saber a versão que é utilizada para poder compilar os arquivos utilizando luac.

Em Lua, a variável global _VERSION contém essa informação.
Em C, use LUA_VERSION_NUM.

Mas não entendi o que isso tem a ver com luac.

--
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para ver esta discussão na web, acesse https://groups.google.com/d/msgid/lua-br/CAD55k3o0asFB8obEbG%3DGf-iKTZBVf3PBi4aW_sPkec7oR8H-0A%40mail.gmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: Lua - Identificando versão

Jonathan [MU ONLINE - LUA]
luac compila um bytecode específico da versão utilizada para gerar o arquivo. Se não compilar com a versão certa acaba dando que o bytecode é incompatível. Pelo menos é isso que estou entendendo.

Em domingo, 13 de setembro de 2020 às 18:23:49 UTC-3, [hidden email] escreveu:
> preciso saber a versão que é utilizada para poder compilar os arquivos utilizando luac.

Em Lua, a variável global _VERSION contém essa informação.
Em C, use LUA_VERSION_NUM.

Mas não entendi o que isso tem a ver com luac.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/lua-br/da104b8b-71f8-4435-868e-0e58d3578269n%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Lua - Identificando versão

Luiz Henrique de Figueiredo
> luac compila um bytecode específico da versão utilizada para gerar o arquivo. Se não compilar com a versão certa acaba dando que o bytecode é incompatível. Pelo menos é isso que estou entendendo.

Sim, é verdade. Mas isso só é necessário se você quiser distribuir
código précompilado. Não é preciso usar luac para executar scripts
Lua: eles são compilados ao serem carregados.

--
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para ver esta discussão na web, acesse https://groups.google.com/d/msgid/lua-br/CAD55k3rT1g2-TEvYTsPjQzH61_PvCQ15DZWhG8e1wsc%3DRTCsDQ%40mail.gmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: Lua - Identificando versão

Jonathan [MU ONLINE - LUA]
Irei sim distribuir e disponibilizar alguns eventos para a comunidade, mas quero proteger meu trabalho e por isso preciso pré compilar. Pode me dar uma luz caso não consiga aqui? Vou fazer uns testes agora que descobri a versão. Muito obrigado, sua resposta até agora já ajudou bastante!

Em domingo, 13 de setembro de 2020 às 18:34:40 UTC-3, [hidden email] escreveu:
> luac compila um bytecode específico da versão utilizada para gerar o arquivo. Se não compilar com a versão certa acaba dando que o bytecode é incompatível. Pelo menos é isso que estou entendendo.

Sim, é verdade. Mas isso só é necessário se você quiser distribuir
código précompilado. Não é preciso usar luac para executar scripts
Lua: eles são compilados ao serem carregados.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/lua-br/c1844f85-d33b-4a98-a982-1e492cfa6755n%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Lua - Identificando versão

Jonathan [MU ONLINE - LUA]
No bin2c contém essa descrição:
"Grave um arquivo de origem C na saída padrão. Quando este arquivo de origem C é incluído em outro arquivo de origem C, tem o efeito de carregar e executando o arquivo especificado naquele ponto do programa. O arquivo nomeado por 'filename' contém código de bytes Lua ou fonte Lua. Seu conteúdo é usado para gerar a saída C. Se + for usado, então o o conteúdo de 'nome do arquivo' é compilado antes de ser usado para gerar a saída C..."

Como consigo fazer isso? Não tenho experiencia o suficiente pra entender, to quebrando a cabeça aqui. 
Em domingo, 13 de setembro de 2020 às 18:50:08 UTC-3, [hidden email] escreveu:
Irei sim distribuir e disponibilizar alguns eventos para a comunidade, mas quero proteger meu trabalho e por isso preciso pré compilar. Pode me dar uma luz caso não consiga aqui? Vou fazer uns testes agora que descobri a versão. Muito obrigado, sua resposta até agora já ajudou bastante!

Em domingo, 13 de setembro de 2020 às 18:34:40 UTC-3, [hidden email] escreveu:
> luac compila um bytecode específico da versão utilizada para gerar o arquivo. Se não compilar com a versão certa acaba dando que o bytecode é incompatível. Pelo menos é isso que estou entendendo.

Sim, é verdade. Mas isso só é necessário se você quiser distribuir
código précompilado. Não é preciso usar luac para executar scripts
Lua: eles são compilados ao serem carregados.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/lua-br/e918042e-6cc9-440c-9fb3-847820995b04n%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Lua - Identificando versão

Denis Dos Santos Silva
===================================  
como identificar a versão do bytecode lua
===================================

se for pra identificar a versão do bytecode lua (binário)  uma forma seria essa...



$ echo "print('hello world')" > hello.lua
$ luac51.exe -o hello.51 hello.lua
$ luac52.exe -o hello.52 hello.lua
$ luac54.exe -o hello.54 hello.lua

apesar de termos a definição lua.h:#define LUA_SIGNATURE     "\x1bLua"

$ xxd hello.51
00000000: 1b4c 7561 5100 0104 0804 0800 0b00 0000  .LuaQ...........
00000010: 0000 0000 4068 656c 6c6f 2e6c 7561 0000  ....@ hello.lua..
00000020: 0000 0000 0000 0000 0002 0204 0000 0005  ................
00000030: 0000 0041 4000 001c 4000 011e 0080 0002  ...A@...@.......
00000040: 0000 0004 0600 0000 0000 0000 7072 696e  ............prin
00000050: 7400 040c 0000 0000 0000 0068 656c 6c6f  t..........hello
00000060: 2077 6f72 6c64 0000 0000 0004 0000 0001   world..........
00000070: 0000 0001 0000 0001 0000 0001 0000 0000  ................
00000080: 0000 0000 0000 00                        .......

$ xxd hello.52
00000000: 1b4c 7561 5200 0104 0804 0800 1993 0d0a  .LuaR...........
00000010: 1a0a 0000 0000 0000 0000 0001 0204 0000  ................
00000020: 0006 0040 0041 4000 001d 4000 011f 0080  ...@.A@...@.....
00000030: 0002 0000 0004 0600 0000 0000 0000 7072  ..............pr
00000040: 696e 7400 040c 0000 0000 0000 0068 656c  int..........hel
00000050: 6c6f 2077 6f72 6c64 0000 0000 0001 0000  lo world........
00000060: 0001 000b 0000 0000 0000 0040 6865 6c6c  ...........@ hell
00000070: 6f2e 6c75 6100 0400 0000 0100 0000 0100  o.lua...........
00000080: 0000 0100 0000 0100 0000 0000 0000 0100  ................
00000090: 0000 0500 0000 0000 0000 5f45 4e56 00    .........._ENV.

$ xxd hello.54
00000000: 1b4c 7561 5400 1993 0d0a 1a0a 0408 0878  .LuaT..........x
00000010: 5600 0000 0000 0000 0000 0000 2877 4001  V...........(w@.
00000020: 8b40 6865 6c6c 6f2e 6c75 6180 8000 0102  .@ hello.lua.....
00000030: 8551 0000 000b 0000 0083 8000 0044 0002  .Q...........D..
00000040: 0146 0001 0182 0486 7072 696e 7404 8c68  .F......print..h
00000050: 656c 6c6f 2077 6f72 6c64 8101 0000 8085  ello world......
00000060: 0100 0000 0080 8081 855f 454e 56         ........._ENV





Em domingo, 13 de setembro de 2020 às 19:19:06 UTC-3, [hidden email] escreveu:
No bin2c contém essa descrição:
"Grave um arquivo de origem C na saída padrão. Quando este arquivo de origem C é incluído em outro arquivo de origem C, tem o efeito de carregar e executando o arquivo especificado naquele ponto do programa. O arquivo nomeado por 'filename' contém código de bytes Lua ou fonte Lua. Seu conteúdo é usado para gerar a saída C. Se + for usado, então o o conteúdo de 'nome do arquivo' é compilado antes de ser usado para gerar a saída C..."

Como consigo fazer isso? Não tenho experiencia o suficiente pra entender, to quebrando a cabeça aqui. 
Em domingo, 13 de setembro de 2020 às 18:50:08 UTC-3, [hidden email] escreveu:
Irei sim distribuir e disponibilizar alguns eventos para a comunidade, mas quero proteger meu trabalho e por isso preciso pré compilar. Pode me dar uma luz caso não consiga aqui? Vou fazer uns testes agora que descobri a versão. Muito obrigado, sua resposta até agora já ajudou bastante!

Em domingo, 13 de setembro de 2020 às 18:34:40 UTC-3, [hidden email] escreveu:
> luac compila um bytecode específico da versão utilizada para gerar o arquivo. Se não compilar com a versão certa acaba dando que o bytecode é incompatível. Pelo menos é isso que estou entendendo.

Sim, é verdade. Mas isso só é necessário se você quiser distribuir
código précompilado. Não é preciso usar luac para executar scripts
Lua: eles são compilados ao serem carregados.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/lua-br/32e2d20b-caf3-4df3-9610-b20e2b3bb6a9n%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Lua - Identificando versão

Jonathan [MU ONLINE - LUA]
Está escrito LJ em um arquivo aqui que já está encriptado corretamente. Pelo que parece preciso compilar usando o lua jit, sabe me dizer se meu pensamento está correto?
Em segunda-feira, 14 de setembro de 2020 às 13:25:05 UTC-3, Denis Dos Santos Silva escreveu:
===================================  
como identificar a versão do bytecode lua
===================================

se for pra identificar a versão do bytecode lua (binário)  uma forma seria essa...



$ echo "print('hello world')" > hello.lua
$ luac51.exe -o hello.51 hello.lua
$ luac52.exe -o hello.52 hello.lua
$ luac54.exe -o hello.54 hello.lua

apesar de termos a definição lua.h:#define LUA_SIGNATURE     "\x1bLua"

$ xxd hello.51
00000000: 1b4c 7561 5100 0104 0804 0800 0b00 0000  .LuaQ...........
00000010: 0000 0000 4068 656c 6c6f 2e6c 7561 0000  ....@ hello.lua..
00000020: 0000 0000 0000 0000 0002 0204 0000 0005  ................
00000030: 0000 0041 4000 001c 4000 011e 0080 0002  ...A@...@.......
00000040: 0000 0004 0600 0000 0000 0000 7072 696e  ............prin
00000050: 7400 040c 0000 0000 0000 0068 656c 6c6f  t..........hello
00000060: 2077 6f72 6c64 0000 0000 0004 0000 0001   world..........
00000070: 0000 0001 0000 0001 0000 0001 0000 0000  ................
00000080: 0000 0000 0000 00                        .......

$ xxd hello.52
00000000: 1b4c 7561 5200 0104 0804 0800 1993 0d0a  .LuaR...........
00000010: 1a0a 0000 0000 0000 0000 0001 0204 0000  ................
00000020: 0006 0040 0041 4000 001d 4000 011f 0080  ...@.A@...@.....
00000030: 0002 0000 0004 0600 0000 0000 0000 7072  ..............pr
00000040: 696e 7400 040c 0000 0000 0000 0068 656c  int..........hel
00000050: 6c6f 2077 6f72 6c64 0000 0000 0001 0000  lo world........
00000060: 0001 000b 0000 0000 0000 0040 6865 6c6c  ...........@ hell
00000070: 6f2e 6c75 6100 0400 0000 0100 0000 0100  o.lua...........
00000080: 0000 0100 0000 0100 0000 0000 0000 0100  ................
00000090: 0000 0500 0000 0000 0000 5f45 4e56 00    .........._ENV.

$ xxd hello.54
00000000: 1b4c 7561 5400 1993 0d0a 1a0a 0408 0878  .LuaT..........x
00000010: 5600 0000 0000 0000 0000 0000 2877 4001  V...........(w@.
00000020: 8b40 6865 6c6c 6f2e 6c75 6180 8000 0102  .@ hello.lua.....
00000030: 8551 0000 000b 0000 0083 8000 0044 0002  .Q...........D..
00000040: 0146 0001 0182 0486 7072 696e 7404 8c68  .F......print..h
00000050: 656c 6c6f 2077 6f72 6c64 8101 0000 8085  ello world......
00000060: 0100 0000 0080 8081 855f 454e 56         ........._ENV





Em domingo, 13 de setembro de 2020 às 19:19:06 UTC-3, [hidden email] escreveu:
No bin2c contém essa descrição:
"Grave um arquivo de origem C na saída padrão. Quando este arquivo de origem C é incluído em outro arquivo de origem C, tem o efeito de carregar e executando o arquivo especificado naquele ponto do programa. O arquivo nomeado por 'filename' contém código de bytes Lua ou fonte Lua. Seu conteúdo é usado para gerar a saída C. Se + for usado, então o o conteúdo de 'nome do arquivo' é compilado antes de ser usado para gerar a saída C..."

Como consigo fazer isso? Não tenho experiencia o suficiente pra entender, to quebrando a cabeça aqui. 
Em domingo, 13 de setembro de 2020 às 18:50:08 UTC-3, [hidden email] escreveu:
Irei sim distribuir e disponibilizar alguns eventos para a comunidade, mas quero proteger meu trabalho e por isso preciso pré compilar. Pode me dar uma luz caso não consiga aqui? Vou fazer uns testes agora que descobri a versão. Muito obrigado, sua resposta até agora já ajudou bastante!

Em domingo, 13 de setembro de 2020 às 18:34:40 UTC-3, [hidden email] escreveu:
> luac compila um bytecode específico da versão utilizada para gerar o arquivo. Se não compilar com a versão certa acaba dando que o bytecode é incompatível. Pelo menos é isso que estou entendendo.

Sim, é verdade. Mas isso só é necessário se você quiser distribuir
código précompilado. Não é preciso usar luac para executar scripts
Lua: eles são compilados ao serem carregados.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/lua-br/aa4dc54b-593d-4da2-9481-0d033d57bc6dn%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Lua - Identificando versão

Jonathan [MU ONLINE - LUA]
Segue o trecho inicial:  LJ @Compilar\Abrir Evento.lua¦

Em segunda-feira, 14 de setembro de 2020 às 14:01:03 UTC-3, [hidden email] escreveu:
Está escrito LJ em um arquivo aqui que já está encriptado corretamente. Pelo que parece preciso compilar usando o lua jit, sabe me dizer se meu pensamento está correto?
Em segunda-feira, 14 de setembro de 2020 às 13:25:05 UTC-3, Denis Dos Santos Silva escreveu:
===================================  
como identificar a versão do bytecode lua
===================================

se for pra identificar a versão do bytecode lua (binário)  uma forma seria essa...



$ echo "print('hello world')" > hello.lua
$ luac51.exe -o hello.51 hello.lua
$ luac52.exe -o hello.52 hello.lua
$ luac54.exe -o hello.54 hello.lua

apesar de termos a definição lua.h:#define LUA_SIGNATURE     "\x1bLua"

$ xxd hello.51
00000000: 1b4c 7561 5100 0104 0804 0800 0b00 0000  .LuaQ...........
00000010: 0000 0000 4068 656c 6c6f 2e6c 7561 0000  ....@ hello.lua..
00000020: 0000 0000 0000 0000 0002 0204 0000 0005  ................
00000030: 0000 0041 4000 001c 4000 011e 0080 0002  ...A@...@.......
00000040: 0000 0004 0600 0000 0000 0000 7072 696e  ............prin
00000050: 7400 040c 0000 0000 0000 0068 656c 6c6f  t..........hello
00000060: 2077 6f72 6c64 0000 0000 0004 0000 0001   world..........
00000070: 0000 0001 0000 0001 0000 0001 0000 0000  ................
00000080: 0000 0000 0000 00                        .......

$ xxd hello.52
00000000: 1b4c 7561 5200 0104 0804 0800 1993 0d0a  .LuaR...........
00000010: 1a0a 0000 0000 0000 0000 0001 0204 0000  ................
00000020: 0006 0040 0041 4000 001d 4000 011f 0080  ...@.A@...@.....
00000030: 0002 0000 0004 0600 0000 0000 0000 7072  ..............pr
00000040: 696e 7400 040c 0000 0000 0000 0068 656c  int..........hel
00000050: 6c6f 2077 6f72 6c64 0000 0000 0001 0000  lo world........
00000060: 0001 000b 0000 0000 0000 0040 6865 6c6c  ...........@ hell
00000070: 6f2e 6c75 6100 0400 0000 0100 0000 0100  o.lua...........
00000080: 0000 0100 0000 0100 0000 0000 0000 0100  ................
00000090: 0000 0500 0000 0000 0000 5f45 4e56 00    .........._ENV.

$ xxd hello.54
00000000: 1b4c 7561 5400 1993 0d0a 1a0a 0408 0878  .LuaT..........x
00000010: 5600 0000 0000 0000 0000 0000 2877 4001  V...........(w@.
00000020: 8b40 6865 6c6c 6f2e 6c75 6180 8000 0102  .@ hello.lua.....
00000030: 8551 0000 000b 0000 0083 8000 0044 0002  .Q...........D..
00000040: 0146 0001 0182 0486 7072 696e 7404 8c68  .F......print..h
00000050: 656c 6c6f 2077 6f72 6c64 8101 0000 8085  ello world......
00000060: 0100 0000 0080 8081 855f 454e 56         ........._ENV





Em domingo, 13 de setembro de 2020 às 19:19:06 UTC-3, [hidden email] escreveu:
No bin2c contém essa descrição:
"Grave um arquivo de origem C na saída padrão. Quando este arquivo de origem C é incluído em outro arquivo de origem C, tem o efeito de carregar e executando o arquivo especificado naquele ponto do programa. O arquivo nomeado por 'filename' contém código de bytes Lua ou fonte Lua. Seu conteúdo é usado para gerar a saída C. Se + for usado, então o o conteúdo de 'nome do arquivo' é compilado antes de ser usado para gerar a saída C..."

Como consigo fazer isso? Não tenho experiencia o suficiente pra entender, to quebrando a cabeça aqui. 
Em domingo, 13 de setembro de 2020 às 18:50:08 UTC-3, [hidden email] escreveu:
Irei sim distribuir e disponibilizar alguns eventos para a comunidade, mas quero proteger meu trabalho e por isso preciso pré compilar. Pode me dar uma luz caso não consiga aqui? Vou fazer uns testes agora que descobri a versão. Muito obrigado, sua resposta até agora já ajudou bastante!

Em domingo, 13 de setembro de 2020 às 18:34:40 UTC-3, [hidden email] escreveu:
> luac compila um bytecode específico da versão utilizada para gerar o arquivo. Se não compilar com a versão certa acaba dando que o bytecode é incompatível. Pelo menos é isso que estou entendendo.

Sim, é verdade. Mas isso só é necessário se você quiser distribuir
código précompilado. Não é preciso usar luac para executar scripts
Lua: eles são compilados ao serem carregados.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/lua-br/1696db0e-0444-4469-8fbf-651c74480c91n%40googlegroups.com.