Page 1 of 5

Gemix WebServices

PostPosted: Tue Mar 13, 2018 4:35 am
by coldev
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

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

Re: Gemix WebServices

PostPosted: Tue Mar 13, 2018 8:02 pm
by SimulatorOne
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

Re: Gemix WebServices

PostPosted: Tue Mar 13, 2018 8:32 pm
by CicTec
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

Re: Gemix WebServices

PostPosted: Tue Mar 13, 2018 9:50 pm
by SimulatorOne
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";

Re: Gemix WebServices

PostPosted: Tue Mar 13, 2018 9:56 pm
by CicTec
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.

Re: Gemix WebServices

PostPosted: Tue Mar 13, 2018 10:02 pm
by SimulatorOne
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.

Re: Gemix WebServices

PostPosted: Tue Mar 13, 2018 10:06 pm
by CicTec
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...

Re: Gemix WebServices

PostPosted: Tue Mar 13, 2018 10:11 pm
by SimulatorOne
Claro :)

Estoy disfrutando de los ejemplos, son sencillos de representar y añadir nuevos players, obtener datos de este, obtener listas...
genial!

Re: Gemix WebServices

PostPosted: Tue Mar 13, 2018 10:57 pm
by SimulatorOne
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...

Re: Gemix WebServices

PostPosted: Wed Mar 14, 2018 4:29 am
by coldev
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