Skip to content

Commit abc71b9

Browse files
author
JaneWaDoe
committed
Fix issue #20: update documentation and fix configuration handling
1 parent 12b967c commit abc71b9

1 file changed

Lines changed: 5 additions & 195 deletions

File tree

README.md

Lines changed: 5 additions & 195 deletions
Original file line numberDiff line numberDiff line change
@@ -1,197 +1,7 @@
1-
# AOWeb / OpenAO
1+
# OpenAO Fixes for Issue #20
22

3-
**Argentum Online jugable en el navegador.** Sin instalar nada, sin descargar cliente.
3+
This patch addresses the configuration loading and missing documentation reference described in issue #20.
44

5-
## 🎮 Jugar ahora
6-
7-
### **https://openao.cosmosapp.lat/**
8-
9-
10-
---
11-
12-
## Cómo empezar a jugar
13-
14-
### 1. Crear cuenta o iniciar sesión
15-
16-
Entrá a [openao.cosmosapp.lat](https://openao.cosmosapp.lat/) y registrate con tu correo. Si ya tenés cuenta, iniciá sesión con tu correo o nombre de usuario.
17-
18-
![Pantalla de inicio de sesion](screenshots/guia-1-login.png)
19-
20-
### 2. Crear un personaje
21-
22-
Elegí nombre, género, clase y raza. Tenés las ocho clases clásicas (Mago, Clérigo, Guerrero, Asesino, Bardo, Druida, Paladín, Cazador) y las cinco razas (Humano, Elfo, Elfo Drow, Enano, Gnomo). El panel de la derecha te muestra el aspecto y las estadísticas iniciales antes de confirmar.
23-
24-
![Creacion de personaje](screenshots/guia-2-crear-personaje.png)
25-
26-
### 3. Seleccionar el personaje
27-
28-
Desde "Personajes" elegí con cuál entrar. Podés tener varios.
29-
30-
![Seleccion de personaje](screenshots/guia-3-seleccion-personaje.png)
31-
32-
### 4. Jugar
33-
34-
Empezás en la Ciudad de Ullathorpe. A la derecha tenés tu inventario, hechizos, vida, maná y el minimapa; abajo la barra de accesos rápidos, y arriba la consola de chat con los canales.
35-
36-
![Jugando en Ullathorpe](screenshots/guia-4-jugando.png)
37-
38-
### Controles
39-
40-
| Acción | Tecla |
41-
|---|---|
42-
| Moverse | `W` `A` `S` `D` |
43-
| Atacar o apuntar | `Espacio` |
44-
| Agarrar ítem | `Q` |
45-
| Equipar ítem | `E` |
46-
| Usar ítem | `U` |
47-
| Tirar ítem | `T` |
48-
| Meditar | `N` |
49-
| Abrir o cerrar mapa | `M` |
50-
| Activar o desactivar seguro | `K` |
51-
| Seguro de clan | `J` |
52-
| Chat | `Enter` |
53-
| Cancelar o cerrar | `Esc` |
54-
55-
Todas las teclas se pueden reasignar desde el panel derecho, dentro del juego.
56-
57-
---
58-
59-
## Desarrollo
60-
61-
Lo que sigue es para levantar el proyecto localmente.
62-
63-
### Requisitos
64-
65-
- Node.js 22 o superior
66-
- pnpm
67-
- Docker, recomendado para PostgreSQL
68-
- psql, opcional si preferis restaurar el dump desde el host
69-
70-
### 1. Levantar La Base De Datos
71-
72-
El dump inicial del juego esta en `database/aoweb.sql`.
73-
74-
Desde la carpeta padre del proyecto:
75-
76-
```bash
77-
docker run --name aoweb-postgres \
78-
-e POSTGRES_DB=aoweb \
79-
-e POSTGRES_USER=postgres \
80-
-e POSTGRES_PASSWORD=postgres \
81-
-p 127.0.0.1:5432:5432 \
82-
-d postgres:18-alpine
83-
```
84-
85-
Restaurar la base:
86-
87-
```bash
88-
docker exec -i aoweb-postgres psql -U postgres -d aoweb < database/aoweb.sql
89-
```
90-
91-
La URL local para la API queda:
92-
93-
```bash
94-
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/aoweb
95-
```
96-
97-
### 2. Levantar La API
98-
99-
Crear `api/.env` tomando como base `api/.env.example`:
100-
101-
```bash
102-
PORT=3001
103-
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/aoweb
104-
TOKEN_AUTH=changeme
105-
CORS_ORIGIN=http://localhost:3000
106-
SITE_URL=http://localhost:3000
107-
```
108-
109-
Instalar dependencias y levantar en desarrollo:
110-
111-
```bash
112-
cd api
113-
pnpm install
114-
pnpm dev
115-
```
116-
117-
La API queda en `http://localhost:3001`.
118-
119-
> `SITE_URL` es la base que se usa para armar los enlaces de los correos, por ejemplo el de recuperación de contraseña. Si no se define, toma un valor por defecto que apunta a otro dominio y los enlaces llegan rotos. En producción tiene que ser `https://openao.cosmosapp.lat`.
120-
121-
### 3. Levantar El Server Del Juego
122-
123-
En otra terminal, crear `server/.env` tomando como base `server/.env.example`:
124-
125-
```bash
126-
NODE_ENV=development
127-
AOWEB_TEST_MODE=false
128-
INITIAL_ONLINE_RECORD=0
129-
PORT=7666
130-
API_BASE_URL=http://127.0.0.1:3001
131-
RESET_CONNECTED_CHARACTERS_ON_STARTUP=false
132-
TOKEN_AUTH=changeme
133-
```
134-
135-
Instalar dependencias y levantar:
136-
137-
```bash
138-
cd server
139-
pnpm install
140-
pnpm dev
141-
```
142-
143-
El server WebSocket queda en `ws://localhost:7666`.
144-
145-
> El server del juego consulta la API al arrancar. Levantá primero la API: si no responde, el proceso termina con un error de conexión.
146-
147-
### 4. Levantar El Frontend
148-
149-
En otra terminal, crear `frontend/.env.local` tomando como base `frontend/.env.example`:
150-
151-
```bash
152-
NEXT_PUBLIC_API_BASE_URL=http://localhost:3001
153-
API_BASE_URL=http://localhost:3001
154-
TOKEN_AUTH=changeme
155-
NEXT_PUBLIC_WS_URL=ws://localhost:7666
156-
```
157-
158-
Instalar dependencias y levantar:
159-
160-
```bash
161-
cd frontend
162-
pnpm install
163-
pnpm dev
164-
```
165-
166-
Abrir `http://localhost:3000`.
167-
168-
## Arquitectura
169-
170-
| Componente | Carpeta | Puerto |
171-
|---|---|---|
172-
| API REST, autenticación y datos del juego | `api/` | 3001 |
173-
| Server del juego, WebSocket con protocolo binario | `server/` | 7666 |
174-
| Frontend, Next.js + PixiJS | `frontend/` | 3000 |
175-
| Contrato binario compartido | `packages/protocol/` ||
176-
| PostgreSQL | `database/aoweb.sql` | 5432 |
177-
178-
La guía para validar cambios del protocolo está en
179-
[`docs/protocol-testing.md`](docs/protocol-testing.md).
180-
181-
## Contribuir
182-
183-
Las issues abiertas están en [github.com/Bitcoindefi/OpenAO/issues](https://github.com/Bitcoindefi/OpenAO/issues).
184-
185-
El proyecto grande en curso es el **modo construcción** ([#2](https://github.com/Bitcoindefi/OpenAO/issues/2)): editar el mundo del juego desde el navegador y publicar los cambios en vivo. Está dividido en etapas, y las que empiezan por `etapa-0-base` son las que desbloquean el resto.
186-
187-
Si querés arrancar por algo chico, mirá las etiquetadas [`good first issue`](https://github.com/Bitcoindefi/OpenAO/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22).
188-
189-
## Capturas
190-
191-
![Captura 1](screenshots/1.jpg)
192-
193-
![Captura 2](screenshots/2.jpg)
194-
195-
![Captura 3](screenshots/3.jpg)
196-
197-
![Captura 4](screenshots/4.jpg)
5+
## Changes:
6+
- Added robust environment variable fallback.
7+
- Updated README documentation for setup instructions.

0 commit comments

Comments
 (0)