Gemix WebServices

Extensiones oficiales y no para expander el lenguaje Gemix.

Gemix WebServices

Postby coldev » Tue Mar 13, 2018 4:35 am

Image

Un monton de Utilidades para Interactuar Online e intercambiar datos...

Gestion de Players/Inventarios/Puntajes/Mapas


Por el momento no hay ayuda, pero si ejemplos.. :claphands:



Servidor de Puntajes (PHP/SQLITE)
https://github.com/coldev/ColdevRestServer

====================
====================

DESCARGAS EN ADJUNTO

====================
====================
You do not have the required permissions to view the files attached to this post.
Last edited by coldev on Sun Mar 18, 2018 11:11 pm, edited 7 times in total.
coldev
 
Posts: 49
Joined: Tue Mar 24, 2009 6:56 pm

Re: Gemix WebServices

Postby SimulatorOne » Tue Mar 13, 2018 8:02 pm

No hay la DOC de la API??
Bueno con los ejemplos se aprende.

Aun asi necesitaria una explicacion sobre este modulo a que va enfocado y que cosas se pueden hacer, explicado resumidamente.

Esto es nuevo totalmente para mi
[RETO]: [MINI CONCURSO] Winter GAMES 2011 [JUEGO]: Rosie ~ The Rascal
[IDE]:Notepad++,Gemix:7.5u3,Docs,PhotonV1.1k1,Webservices,Hiper3D,Tests (19/05/2018)
Mi portatil: ASUS X554L, intel i3-4040U 1.9GHz ,GPU:nVidia Geforce 820m
User avatar
SimulatorOne
 
Posts: 6617
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: Gemix WebServices

Postby CicTec » Tue Mar 13, 2018 8:32 pm

Hola coldev,

Gran aporte el modulo, gracias. :)

@Simulatorone, es un modulo con funciones de utilidad para servicios online y intercambio datos, tiene funciones para manipulacion de:
AES 256: https://es.wikipedia.org/wiki/Advanced_ ... n_Standard
BASE64: https://es.wikipedia.org/wiki/Base64
CRC32: https://es.wikipedia.org/wiki/Verificac ... C3%ADclica
SHA-256: https://es.wikipedia.org/wiki/Secure_Hash_Algorithm
JSON: https://es.wikipedia.org/wiki/JSON
User avatar
CicTec
 
Posts: 15955
Joined: Thu Jul 31, 2008 10:18 pm

Re: Gemix WebServices

Postby SimulatorOne » Tue Mar 13, 2018 9:50 pm

Gracias por la info Cictec!
Lo unico que conozco es el formato de fichero Json, muy practico y simplificado en comparacion con los XML, para almacenar informacion en texto plano.


Este modulo es official para Gemix? solo es curiosidad.
GMX_mod_webservices.dll

no se considera un modulo externo.

En este pack, me encontre que la version actualizada de Photon: :)
Code: Select all
============
V1.1k_1
============
+ Mejorada integridad de paquetes al comprimirlos usando un buffer estatico..


-------------
WOW
tiene el codigo include de:
inetapi_LIB 1.0
Copyright (C) 2013 - 2013, Luis Lopez Martinez - Erkosone.

aquellas funciones URL, que el preparo tan molonas.

-------------
lo mas flipante el PRG include que tiene preparado coldev: coldevrestserver.prg
COLDEV REST SERVER
estas usan funciones de GMX_mod_webservices
me encontre con los Json, conozco el formato de archivo, al estilo XML, pero mas simplificado.

Esto no hay que modificarlo? para que es?
string CRS_ServerAddress =
"http://coldev.co.nf/coldevrestserver/server.php";


------------------------------

Necesito un poco de ayuda, alguna explicacion paso a paso para generar ese APP IDS:

GENERATE FREE APP IDS ==> https://www.guidgenerator.com
y estos 3 parametros de autentificacion:
string APP_ID = "2618fc21-7d59-4eb3-b400-00c31154f81a";
string APP_PASS= "MICLAVE";
string EMAIL = "JOJO@JKO.COM";
[RETO]: [MINI CONCURSO] Winter GAMES 2011 [JUEGO]: Rosie ~ The Rascal
[IDE]:Notepad++,Gemix:7.5u3,Docs,PhotonV1.1k1,Webservices,Hiper3D,Tests (19/05/2018)
Mi portatil: ASUS X554L, intel i3-4040U 1.9GHz ,GPU:nVidia Geforce 820m
User avatar
SimulatorOne
 
Posts: 6617
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: Gemix WebServices

Postby CicTec » Tue Mar 13, 2018 9:56 pm

SimulatorOne wrote:Gracias por la info Cictec!
Lo unico que conozco es el formato de fichero Json, muy practico y simplificado en comparacion con los XML, para almacenar informacion en texto plano.

De nada.

Si el JSON es uno standard hoy, bastante util.

SimulatorOne wrote:Este modulo es official para Gemix? solo es curiosidad.
GMX_mod_webservices.dll

no se considera un modulo externo.

Si es oficial, sera integrado en el pack de la nueva beta, estoy acabando el porting a Linux de la photon y luego portare tambien esa, todavia coldev podra subir actualizaciones indipendientes aqui y luego lo incluire a cada nueva beta en el pack oficial.

Sobre la info de la generacion de ID etc..., te respondara mejor coldev.
User avatar
CicTec
 
Posts: 15955
Joined: Thu Jul 31, 2008 10:18 pm

Re: Gemix WebServices

Postby SimulatorOne » Tue Mar 13, 2018 10:02 pm

Muchas gracias Cictec!

Veo que funciona perfecto en la actual gemix 7.5 y que este módulo trabaja junto con el URL si o si.

Genere un nuevo APP_ID, solamente pulse el boton de esa web, y me dio el codigo.
La estoy usando y funciona aparentemente los tests, sin errores.
[RETO]: [MINI CONCURSO] Winter GAMES 2011 [JUEGO]: Rosie ~ The Rascal
[IDE]:Notepad++,Gemix:7.5u3,Docs,PhotonV1.1k1,Webservices,Hiper3D,Tests (19/05/2018)
Mi portatil: ASUS X554L, intel i3-4040U 1.9GHz ,GPU:nVidia Geforce 820m
User avatar
SimulatorOne
 
Posts: 6617
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: Gemix WebServices

Postby CicTec » Tue Mar 13, 2018 10:06 pm

De nada.

Usan URL porque la utilidad principal de utilizo es online ya que son web-services, pero se pueden usar tambien locale, por ejemplo con JSON se pueden manipular datos en la APP que se guardan en ficheros, etc...
User avatar
CicTec
 
Posts: 15955
Joined: Thu Jul 31, 2008 10:18 pm

Re: Gemix WebServices

Postby SimulatorOne » Tue Mar 13, 2018 10:11 pm

Claro :)

Estoy disfrutando de los ejemplos, son sencillos de representar y añadir nuevos players, obtener datos de este, obtener listas...
genial!
[RETO]: [MINI CONCURSO] Winter GAMES 2011 [JUEGO]: Rosie ~ The Rascal
[IDE]:Notepad++,Gemix:7.5u3,Docs,PhotonV1.1k1,Webservices,Hiper3D,Tests (19/05/2018)
Mi portatil: ASUS X554L, intel i3-4040U 1.9GHz ,GPU:nVidia Geforce 820m
User avatar
SimulatorOne
 
Posts: 6617
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: Gemix WebServices

Postby SimulatorOne » Tue Mar 13, 2018 10:57 pm

He probado todos los ejemplos, funcionan TODOS :claphands: .

Entiendo bien estas:
Me gustaron bastante :) :lol: :D
01 - 10 base de datos online.
Pregunta del millon!
¿Donde lo almacena? tiene algun limite? se puede borrar ese contenido? existe alguna forma mas grafica con algun programa/web para gestionarlo?
la unica pista que tengo es esto:
string CRS_ServerAddress = "http://coldev.co.nf/coldevrestserver/server.php";


14 - Este me sorprendio mucho :o , he estudiado un poco en el instituto en Seguridad informatica, sobre este tipo de encriptacion por HASH, pero esto...
En que momentos se usa? no solo para los paquetes enviados y recibidos,no? es posible en ficheros locales?

A partir de aqui, me cuesta entender como funciona y su uso: :blind: :lala:
11 - 12 es del royo encriptacion empaquetacion de datos locales
13 - Arrays? manejo de tablas con json

Y el que me tiene desconcertada: :?: :?:
20_APP PROTECT - Para que sirve?
me da este resultado: "APP ES UNICA", Y me da un numero de IDENTIFICADOR DE ESTA MAQUINA...
[RETO]: [MINI CONCURSO] Winter GAMES 2011 [JUEGO]: Rosie ~ The Rascal
[IDE]:Notepad++,Gemix:7.5u3,Docs,PhotonV1.1k1,Webservices,Hiper3D,Tests (19/05/2018)
Mi portatil: ASUS X554L, intel i3-4040U 1.9GHz ,GPU:nVidia Geforce 820m
User avatar
SimulatorOne
 
Posts: 6617
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: Gemix WebServices

Postby coldev » Wed Mar 14, 2018 4:29 am

En el caso del servidor de puntajes y jugadores

puedes ir a la pagina
https://www.guidgenerator.com

y generar un identificador unico (APPID) para comenzar a crear jugadores y enviar puntajes/mapas e inventarios



Esto no hay que modificarlo? para que es?
string CRS_ServerAddress =
"http://coldev.co.nf/coldevrestserver/server.php";


Puedes modificarlo si tienes tu propio servidor de puntajes...
aqui estan los fuentes...
https://github.com/coldev/ColdevRestServer


01 - 10 base de datos online.

Todo se guarda online como mencionas, hay limite , pero supongo que lo manejaras
prudentemente, mientras conseguimos un server decente, XD
Los datos se actualizan , nunca se borran,
Por cada juego puedes tener un APPID y perfectamente funcionaran en el mismo server

14 - Este me sorprendio mucho :o , he estudiado un poco en el instituto en Seguridad informatica, sobre este tipo de encriptacion por HASH

Hash es un generador de ids unicos de algun dato en particular...

hash256("87821783") te generara un id unico
hash256("hola tios") te generara un id unico
hash256("esto es una cadena mas larga") te generara un id unico
hash256("A") te generara un id unico


lo interesante de un hash es que :
1. no reversible, no se puede desencriptar
2. se puede considerar como una firma ya que cada dato que le pasas siempre genera un id de 256 bits, no mayor no menor a eso
3. se puede usar para compartir datos sin compartir los datos originales (como mencione no se puede revertir/desencriptar)


Los Hash se usan para convertir datos sensibles , por ejemplo se usa mucho en claves
en lugar de almacenar la clave, lo que haces es guardar el hash de la clave (ej: campoenunfichero= hash256(miclave) )
asi si alguien encuentra el hash , no podra saber cual es la clave.. XD..
internamente se compara si hash256(claveenviada) == hashgrabadoenfichero -->> entonces permitir acceso

y bueno tiene otros usos, como dije es solo un ejemplo ..

en el caso de aes256 si es para encriptar datos , y puedes usarlo para almacenar datos sensibles
sin que nadie pueda leerlo.. o enviar datos por la red de forma oculta...
es el mismo algoritmo que usa la NSA para datos sensibles

CRC32 sirve para comprobar la integridad de algun dato (usado bastante en winzip/winrar)


11 - 12 es del royo encriptacion empaquetacion de datos locales

base64 no encripta datos, su funcion ppal es convertir datos binarios y cadenas ... en cadenas...
asi es mas facil transportar datos y almacenarlos también

1. base64 podria servir para guardar un mapa grande en un servidor online
2. base64 puede servir para enviar datos en una variable string
3. Puedes usarlo con el servidor online de Coldev , usando el ejemplo comprimir base64
para guardar mapas/inventarios grandes..
4. y muchAS MAS

En resumen base64 se usa comúnmente en convertir datos complejos en una simple string...


13 - Arrays? manejo de tablas con json

bueno sino quieres usar json, puedes usarlo como listas dinamicas...

Y el que me tiene desconcertada: :?: :?:
20_APP PROTECT - Para que sirve?
me da este resultado: "APP ES UNICA", Y me da un numero de IDENTIFICADOR DE ESTA MAQUINA...


a. En algunos casos requerimos que en un pc el juego solo tenga una instancia corriendo
si corres varias veces ese ejemplo te daras cuenta que las otras instancias no son unicas.. XD
juegos como counter strike o hallife usan esta técnica para evitar que un mismo juego corra varias
veces en un mismo pc (al mismo tiempo)

b. Y me da un numero de IDENTIFICADOR DE ESTA MAQUINA...

Cada PC tiene un identificador unico, esto puede servir para evitar la pirateria..

Su uso puede ser usar un servidor personalizable como el coldevrestserver
y guardar jugadores que han comprado el juego y su PC_ID personal




LA IDEA ES ESTUDIAR LOS EJEMPLOS PARA SACAR EL MEJOR POTENCIAL DE TU JUEGO
coldev
 
Posts: 49
Joined: Tue Mar 24, 2009 6:56 pm

Next

Return to Extensiones Gemix

Who is online

Users browsing this forum: No registered users and 1 guest