Jump to content
Existing user? Sign In

Sign In



Sign Up
Search In
  • More options...
Find results that contain...
Find results in...

[Apollo]


RuneArchive
 Share

Recommended Posts

  • Replies 41
  • Created
  • Last Reply

Top Posters In This Topic

  • 4 weeks later...
  • 2 weeks later...
  • 5 weeks later...
  • 4 weeks later...
  • 4 weeks later...
  • 2 weeks later...
  • 1 year later...
On 22/1/2020 at 10:04, RuneArchive said:

This is the hidden content, please

 

Enlace de descarga:

 

contenido oculto

  • Reacciona o responde a este tema para ver el contenido oculto.

 

Instrumentos:

N / A

Introducción

Apollo es un emulador de RuneScape que tiene como objetivo fomentar una alternativa fundamentalmente diferente a la forma en que se realiza hoy en día el desarrollo de servidores privados. Consiste en un servidor modular de alto rendimiento escrito en Java, así como una colección de utilidades para administrar los archivos de datos y complementos.

Complementos

Actualmente, las personas descargan un servidor, leen tutoriales y aplican sus modificaciones o escriben su propio código encima. Luego lo alojarán o lo lanzarán. El resultado es que actualmente tenemos un completo lío de servidores (esto incluye todas las bases actuales: Hyperion, rs2hd, winterlove), todos creados a partir de código improvisado.

Apollo va a cambiar eso a través de su sistema de complementos. En lugar de incluir todo en una gran aplicación, Apollo consta de:
 

  • Una pequeña aplicación "central" que proporciona las características necesarias para que el servidor funcione.
  • Un conjunto de complementos y las herramientas para administrarlos (instalar, desinstalar, publicar, descargar, etc.).
  • Algunas herramientas y utilidades adicionales para administrar los archivos de datos.



Esto hará que sea mucho más fácil para todos desarrollar un servidor privado, sin restringirlo más a las personas que pueden (o no pueden, como es el caso aquí) programar. En lugar de perder el tiempo copiando y pegando líneas de código de un tutorial de corte de madera, la gente simplemente tendrá que descargar e instalar un complemento de corte de madera.

También hay un plan para tener un repositorio de complementos (o quizás varios repositorios) y un conjunto de herramientas para hacer que la experiencia sea muy parecida a la de un administrador de paquetes en Linux.

También significa que se pueden proporcionar actualizaciones para el servidor central (por ejemplo, seguridad, estabilidad, optimizaciones) muy fácilmente. Los usuarios solo tendrán que descargar el nuevo jar, sobrescribir el actual con el nuevo y reiniciar su servidor.

Y lo mejor de todo es que los usuarios sin experiencia están protegidos de cometer errores fatales en el núcleo y se mantienen alejados de cosas que no deberían editar en su nivel de experiencia.

Los complementos están escritos actualmente en Ruby, sin embargo, en el futuro se podrían agregar otros idiomas. Así es como se ve un complemento:

hello.rb:

Código:
require 'java'
java_import 'org.apollo.game.model.Animation'

on :command, :hello do |player, command|
  player.play_animation Animation::WAVE
  player.send_message "Hello, World!"
end

plugin.xml:

Código:
<?xml version="1.0"?>
<plugin>
  <id>hello</id>
  <version>1</version>
  <name>Hello World Command</name>
  <description>Adds a ::hello command which simply prints 'Hello, World!'.</description>
  <authors>
    <author>Graham</author>
  </authors>
  <scripts>
    <script>hello.rb</script>
  </scripts>
  <dependencies />
</plugin>

Características principales Algunas de las características principales

importantes (técnicamente) actuales incluyen:
 

  • La codificación / decodificación de paquetes se ha separado de las representaciones de los propios paquetes. Esto permite que el potencial de codificación / decodificación continúe en paralelo y también permite admitir múltiples revisiones. Actualmente, 317 y 377 son completamente compatibles.
  • Soporte de servidor de actualización (JAGGRAB, ondemand y HTTP).
  • Encadenamiento de manejadores de paquetes: esto permite que múltiples complementos puedan interceptar un solo paquete y manejarlo de manera apropiada. Por ejemplo, un complemento de búsqueda podría interceptar la búsqueda en una estantería, por ejemplo, si el comportamiento necesita cambiar en ciertos casos.
  • Ejecución paralela de la actualización del reproductor para máquinas de varios núcleos: esto tiene un beneficio significativo en mi máquina de doble núcleo utilizada para probar el servidor.



Además de eso, tiene las cosas estándar del pantano:
 

  • Acceso
  • Actualización de apariencia
  • Multijugador
  • Caminar / correr
  • Gestión de Derechos
  • Algoritmo de retroceso para el movimiento
  • Diseño de personaje
  • Charlando
  • Comandos
  • Soporte de inventario
  • Soporte de equipo
  • Animaciones
  • Gráficos
  • Mirando / voltear a
  • Sistema de acción
  • Trabajando acciones a distancia
  • Todos los tipos de datos implementados
  • Programador de tareas basado en ticks del juego
  • Guardar / cargar con un formato binario personalizado
  • Niveles de habilidad / experiencias
  • Gestión de complementos
  • Lee la información del artículo del caché



Características de los complementos

Estos son los complementos actuales que he desarrollado hasta ahora.
 

  • hola:  un complemento 'hola mundo' solo para demostrar cómo se utilizan para los desarrolladores de complementos.
  • cmd-item:  comandos relacionados con el elemento: elemento, destruir y vaciar
  • cmd-skill:  comandos relacionados con la habilidad: max
  • cmd-teleport:  teletransporte / comandos relacionados con la posición: pos, tele
  • maniquí:  los maniquíes en Varrock
  • minería:  un complemento de minería para demostrar un complemento más grande para futuros desarrolladores de complementos y para probar algunas de las funciones más nuevas (aún no completadas)



Control / creación de código fuente

Actualmente, el repositorio es privado (aún no está listo y no se lanzará hasta que esté listo).

Arquitectura del servidor

Bibliotecas de terceros

El servidor utiliza la 

contenido oculto

  • Reacciona o responde a este tema para ver el contenido oculto.

 API para el código de red. Netty admite una variedad de transportes como NIO y bloqueo de IO, por lo que puede elegir lo que sea adecuado para su entorno / caso de uso.

los 

contenido oculto

  • Reacciona o responde a este tema para ver el contenido oculto.

 La biblioteca se utiliza para descomprimir archivos comprimidos con bzip2 en la caché.

los 

contenido oculto

  • Reacciona o responde a este tema para ver el contenido oculto.

 La biblioteca se utiliza para pruebas unitarias.

los 

contenido oculto

  • Reacciona o responde a este tema para ver el contenido oculto.

 La biblioteca se utiliza para ejecutar los complementos de Ruby.

 

 

contenido oculto

  • Reacciona o responde a este tema para ver el contenido oculto.

 se utiliza para dibujar bonitos diagramas en los Javadocs.

Complemento de

minería de medios / prospección: Elementos que manejan: Soporte Real 377: Niveles de habilidad: Probar el complemento hello: Puntos de referencia ¡ Estos están bastante desactualizados y podré rehacerlos en algún momento en una variedad de plataformas / configuraciones! Estos son de una máquina de 32 bits que ejecuta Windows 7. Tiene un procesador de doble núcleo de 2,2 ghz y 2 GB de RAM. Se utilizó Java 1.7.0-ea con la máquina virtual HotSpot Server. Actualizador paralelo: el tiempo de ciclo con 2000 reproductores inactivos tomó 240-270ms (luego mejorado a 140-160ms). El tiempo de ciclo con 2000 jugadores enviando mensajes de chat no deseados fue de 420-470 ms. Actualizador secuencial:

This is the hidden content, please



This is the hidden content, please



This is the hidden content, please



This is the hidden content, please



This is the hidden content, please














El tiempo de ciclo con 2000 reproductores inactivos tomó 290-340 ms. Con los jugadores enviando mensajes de chat no deseados, tomó 550-700ms.

Usando el actualizador paralelo (recomendado para PC ya que tiene múltiples núcleos), el rendimiento estuvo dentro del límite de 600ms. Tampoco es un hardware asombroso.

Planes actuales

El plan a grandes rasgos es:

 

 

 

 

 

  1. Obtenga el núcleo terminado a un estado utilizable para los desarrolladores de complementos.
  2. Permita el acceso temprano a un número selecto de personas para que puedan desarrollar complementos de código abierto precisos para RuneScape. Termine de desarrollar el núcleo mientras esto continúa.
  3. Suelta el núcleo y todos los complementos simultáneamente.
  4. Siéntese y haga actualizaciones ocasionales del núcleo. La comunidad puede hacer el resto.



Créditos

 

  • blakeman8192
  • Sir Sean
  • súper_
  • wL
  • daiki
  • Saevion
  • palomitas de maíz89
  • Tomás
  • desafiante
  • silabsoft
  • ladrón
  • Phyfiox (también conocido como Raul)
  • Scu11
  • Palidino76
  • Parabolika

mu bien tambien xd

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share


Contact

ltlimes

RSPS Partners

RedemptionRSPS

What is a RSPS?

A RSPS, also known as RuneScape private server, is an online game based on RuneScape, and controlled by independent individuals.

Popular RSPS Servers

oldschoolrsps Runewild RedemptionRSPS

Disclaimer

Runesuite is not affiliated with runescape, jagex, rune-server and runelocus in any way & exists solely for educational purposes.

×
×
  • Create New...