~starkingdoms/starkingdoms

f73656c66fcec95e0957a7500c291926e0dcab2e — core 2 years ago dcd9c9f
the server currently does much nothing
4 files changed, 25 insertions(+), 21 deletions(-)

M Cargo.lock
M Cargo.toml
M server/Cargo.toml
M server/src/main.rs
M Cargo.lock => Cargo.lock +12 -11
@@ 2971,17 2971,6 @@ dependencies = [
]

[[package]]
name = "server"
version = "0.0.1"
dependencies = [
 "bevy",
 "bevy_twite",
 "rmp",
 "rmp-serde",
 "serde",
]

[[package]]
name = "sha1"
version = "0.10.5"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 3060,6 3049,18 @@ dependencies = [
]

[[package]]
name = "starkingdoms-server"
version = "0.0.1"
dependencies = [
 "bevy",
 "bevy_twite",
 "rmp",
 "rmp-serde",
 "serde",
 "tracing-subscriber",
]

[[package]]
name = "static_assertions"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"

M Cargo.toml => Cargo.toml +1 -4
@@ 1,7 1,4 @@
[workspace]
members = [
    "server",
]

[profile.dev.package.rapier2d-f64]
opt-level = 3
]
\ No newline at end of file

M server/Cargo.toml => server/Cargo.toml +2 -1
@@ 1,5 1,5 @@
[package]
name = "server"
name = "starkingdoms-server"
version = "0.0.1"
edition = "2021"



@@ 9,3 9,4 @@ rmp = "^0.8"
rmp-serde = "1.1.2"
serde = "1.0.192"
bevy_twite = { git = "https://gitlab.com/ghostlyzsh/twite.git" }
tracing-subscriber = "0.3"
\ No newline at end of file

M server/src/main.rs => server/src/main.rs +10 -5
@@ 1,32 1,37 @@
extern crate rmp;
extern crate rmp_serde as rmps;
extern crate serde;

mod component;
mod packet;

use std::collections::HashMap;

use bevy::{prelude::*, ecs::event::ManualEventReader};
use bevy::utils::tracing;
use bevy_twite::{TwiteServerPlugin, TwiteServerConfig, ServerEvent, twite::frame::MessageType};
use component::*;
use packet::*;
use rmps::Serializer;
use rmp_serde::Serializer;
use serde::Serialize;

fn main() {
    let subscriber = tracing_subscriber::FmtSubscriber::new();
    tracing::subscriber::set_global_default(subscriber).unwrap();
    info!("StarKingdoms server v{} starting up", env!("CARGO_PKG_VERSION"));

    App::new()
        .insert_resource(TwiteServerConfig {
            port: 3000,
        })
        .add_plugins(MinimalPlugins)
        .add_plugins(TwiteServerPlugin)
        .add_systems(Startup, spawn_planets)
        .add_systems(Update, on_connection)
        .add_systems(Update, on_position_change)
        .run();

    info!("Goodbye!");
}

fn spawn_planets(mut commands: Commands) {
    debug!("Spawning planets");
    let earth_pos = Transform::from_xyz(0.0, 0.0, 0.0);
    commands.spawn(PlanetBundle {
        planet_type: PlanetType::Earth,