martes, 18 de febrero de 2020

Docker en Windows parte 8: .Net Core 3.1 con Docker Linux

Hola a todos, ahora veremos como subir una aplicación simple .Net Core a Docker para Linux.
Usaremos Visual Studio Code.

Parte 7: https://naldog.blogspot.com/2019/10/docker-en-windows-parte-7-contenedor-de.html
_____________________________________

NOTA: Antes que nada, disculpar la calidad de las imágenes ya que son imágenes exportadas de un Word.

Referencias



Bajar Visual Studio Code

Es gratis y no muerde.

Instálalo.

Ejecutar Aplicación Net Core y que quede corriendo localmente

Creamos una aplicación simple. Un servicio REST en Net Core.


Abrirlo y abrir terminal (New Terminal)
Escribir

cd c:
mkdir netcore
cd netcore
dotnet new WeatherForecast

Abrir la carpeta netcore
Correr desde la Terminal

dotnet run

Quedará corriendo en port 5001
Entrar al link
https://localhost:5001/WeatherForecast/

Se verá el JSON

Corriéndola desde Docker (Linux)

Ejecutar Docker y debe quedar usando contenedores Linux
Debe decir Switch to Windows containers (quiere decir está en modo Linux)



Agregar dockerfile

Averiguar nombre de DLL del proyecto en bin/debug/netcoreapp3.1
Agregar archivo dockerfile a la raíz del proyecto. Colocar el nombre de la dll, es case sensitive.
El proyecto se llama netcore, por lo tanto, la dll se llama netcore.dll


FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
WORKDIR /app
COPY *.csproj ./
RUN dotnet restore
COPY . ./
RUN dotnet publish -c Release -o out
# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "netcore.dll"]

Build image

Ir con el terminal a la carpeta donde está el dockerfile y ejecutar:
docker build -t netcore .
Ejecutar

docker images

Debe estar creada la imagen

Correr contenedor

Ejecutarla usando port 8080 externo (equipo local) y 80 (interno del docker)

docker run -d -p 8080:80 --name cnt_app netcore

Debe quedar en estado UP X seconds
Probar usando

Si lo parseamos usando
Se verán los campos más ordenados:

Opcional: habilitar CORS

Habilitar CORS (acceso de otros origines o APIs) sino no se puede consumir desde otro dominio construido con otros Front como Angular.

Startup.cs

public void ConfigureServices(IServiceCollection services)
        {
            services.AddCors(o => o.AddPolicy("MyPolicy", builder =>
            {
                builder.AllowAnyOrigin()
                    .AllowAnyMethod()
                    .AllowAnyHeader();
            }));

            services.AddControllers();
        }
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            app.UseCors("MyPolicy");

__________________________________

Parte 7: https://naldog.blogspot.com/2019/10/docker-en-windows-parte-7-contenedor-de.html

sábado, 15 de febrero de 2020

Megaman 9 y Megaman 10 de WiiWare con Dolphin 5 en PC (Feb 2020)

Hola, aquí va como logré hacer andar el Megaman 9 y Megaman 10 de WiiWare en Emulador Dolphin usando un Joystick.

Si quieres comprarlo está en Steam, en el Mega Man Legacy Collection 2, que recomiendo tenerlo, tiene una base de datos con imágenes, detalle de los enemigos, etc. Píllalo en las ofertas navideñas, otoño o halloween, a 10 USD o menos incluso.

Bueno vamos lo nuestro.

1. Baja Dolphin para PC
Baja la que dice Versiones Estables. Actualmente es la 5.0.
Instálalo.

https://es.dolphin-emu.org/download/

2. Baja los WADs de Megaman 9 y Megaman 10, pesan entre 15 y 19 MB.
https://mega.nz/#F!MxdVyIxI!Rvia23HER9s-M9X7k-IsyA

(nada de esas basura de link falsos, son link directo)

Si quieres bajar otros WADS hay muchos acá:
http://www.ravmn.cl/content/wads-virtual-console-ntsc

3. Descarga ambas carpetas en C:\juegos\Wiiware

4. Ve a Dolphin y apunta a esas carpetas.
Opciones - Configurar - Directorios - Añadir - Selecciona una carpeta de un juego y luego la otra.


Se verán los juegos cargados:
Los juegos son SOLO los dos de arriba. Los de abajo no son juegos.

5. Configura el control.
Entra a la opción de Mandos. Selecciona Control Wiimote 1.
Esta parte es importante ya que al parecer en la Wii se juega con el control girado, entonces vamos a mapear de esta forma los controles.

Yo tengo este control MSI Force GC20 (recomiendo comprarlo, el mejor control gamer que he tenido y no sale más de 30 USD en Amazon).
Se ve un A, B, X e Y a la derecha.
Al centro un Select y un Start.
Atrás tiene L1 y L2, R1 y R2. 

En base a estos botones configuramos así los botones del Wiimote.

Si quieres un detalle de como lo usamos en Megaman sería estos botones (no se usan muchos)

- L2 - lo asignamos al home de Wii
- X: disparo y Cancel en los menús
- A: salto
- Select: ranking de otros players y su tiempo
- Start: menú de armas de Megaman

- Lo movimientos de la cruceta déjalos tal cual la foto de la parte derecha. Yo uso la palanca analógica.

Este seteo del control lo puedes guardar con un nombre para futuro cargarlo (en caso que juegues otros juegos), ponle "Megaman joystick" si quieres, y pinchas en Guardar.


6. Ejecuta los juegos
Ya quí los ejecutas. Si quieres seteas cosas gráficas, velocidad, etc. Ahí es tema tuyo.
Por defecto corren a 60 FPS.

Megaman 9

Megaman 10 

Lo mejor al correrlos en emulador es que puedes Salvar (Shift + F1) o Cargar (F1). Ya que estos juegos son infernálmente difíciles.

Esto es todo. Nos vemos.