move patch/login main.rs files up a level

This commit is contained in:
jake 2019-10-09 22:45:14 -07:00
parent 75b453731e
commit f294781934
10 changed files with 45 additions and 36 deletions

View File

@ -4,13 +4,18 @@ version = "0.1.0"
authors = ["Jake Probst <jake.probst@gmail.com>"]
edition = "2018"
[[bin]]
name = "everything"
path = "src/main.rs"
[[bin]]
name = "patch"
path = "src/patch/main.rs"
path = "src/patch_main.rs"
[[bin]]
name = "login"
path = "src/login/main.rs"
path = "src/login_main.rs"
[dependencies]
libpso = { git = "http://git.sharnoth.com/jake/libpso" }

View File

@ -8,6 +8,7 @@ use libpso::character::settings;
use std::sync::{Arc, Mutex};
#[derive(Clone)]
pub struct InMemoryGateway {
users: Arc<Mutex<HashMap<u32, UserAccount>>>,
user_settings: Arc<Mutex<HashMap<u32, UserSettings>>>,

View File

@ -1,4 +0,0 @@
#![feature(const_generics)]
pub mod common;
pub mod entity;

View File

@ -8,15 +8,15 @@ use libpso::packet::login::*;
use libpso::{PacketParseError, PSOPacket};
use libpso::crypto::bb::PSOBBCipher;
use elseware::common::cipherkeys::{ELSEWHERE_PRIVATE_KEY, ELSEWHERE_PARRAY};
use elseware::common::serverstate::{SendServerPacket, RecvServerPacket, ServerState, OnConnect, ClientId};
use elseware::{utf8_to_array, utf8_to_utf16_array};
use crate::common::cipherkeys::{ELSEWHERE_PRIVATE_KEY, ELSEWHERE_PARRAY};
use crate::common::serverstate::{SendServerPacket, RecvServerPacket, ServerState, OnConnect, ClientId};
use crate::{utf8_to_array, utf8_to_utf16_array};
use elseware::entity::gateway::EntityGateway;
use elseware::entity::account::{UserAccount, USERFLAG_NEWCHAR, USERFLAG_DRESSINGROOM};
use elseware::entity::character::Character;
use crate::entity::gateway::EntityGateway;
use crate::entity::account::{UserAccount, USERFLAG_NEWCHAR, USERFLAG_DRESSINGROOM};
use crate::entity::character::Character;
use crate::login::get_login_status;
use crate::login::login::get_login_status;
pub const CHARACTER_PORT: u16 = 12001;
@ -182,7 +182,7 @@ impl<EG: EntityGateway> CharacterServerState<EG> {
})
}
fn send_ship_list(&mut self, id: ClientId, pkt: &Login) -> Result<Vec<SendCharacterPacket>, CharacterError> {
fn send_ship_list(&mut self, _id: ClientId, _pkt: &Login) -> Result<Vec<SendCharacterPacket>, CharacterError> {
Ok(vec![SendCharacterPacket::Timestamp(Timestamp::new(chrono::Utc::now())),
SendCharacterPacket::ShipList(ShipList {
flag: 0,
@ -420,7 +420,7 @@ impl<EG: EntityGateway> ServerState for CharacterServerState<EG> {
#[cfg(test)]
mod test {
use super::*;
use elseware::entity::account::UserSettings;
use crate::entity::account::UserSettings;
use libpso::character::settings;
use std::time::SystemTime;

View File

@ -9,14 +9,12 @@ use libpso::packet::login::*;
use libpso::{PacketParseError, PSOPacket};
use libpso::crypto::bb::PSOBBCipher;
use elseware::common::cipherkeys::{ELSEWHERE_PRIVATE_KEY, ELSEWHERE_PARRAY};
use elseware::common::serverstate::{SendServerPacket, RecvServerPacket, ServerState, OnConnect, ClientId};
use elseware::common::util::array_to_utf8;
use crate::common::cipherkeys::{ELSEWHERE_PRIVATE_KEY, ELSEWHERE_PARRAY};
use crate::common::serverstate::{SendServerPacket, RecvServerPacket, ServerState, OnConnect, ClientId};
use crate::common::util::array_to_utf8;
//use crate::dataaccess::EntityGateway;
//use crate::entities::UserAccount;
use elseware::entity::gateway::EntityGateway;
use elseware::entity::account::UserAccount;
use crate::entity::gateway::EntityGateway;
use crate::entity::account::UserAccount;
pub const LOGIN_PORT: u16 = 12000;
@ -88,7 +86,7 @@ impl<EG: EntityGateway> LoginServerState<EG> {
let ip = net::Ipv4Addr::new(127,0,0,1);
let ip = u32::from_ne_bytes(ip.octets());
vec![response,
SendLoginPacket::RedirectClient(RedirectClient::new(ip, crate::character::CHARACTER_PORT))]
SendLoginPacket::RedirectClient(RedirectClient::new(ip, crate::login::character::CHARACTER_PORT))]
},
Err(err) => {
vec![SendLoginPacket::LoginResponse(LoginResponse::by_status(err, pkt.security_data))]

2
src/login/mod.rs Normal file
View File

@ -0,0 +1,2 @@
pub mod login;
pub mod character;

View File

@ -1,5 +1,8 @@
#![feature(const_generics)]
mod common;
mod login;
mod character;
mod entity;
use std::thread;
use std::collections::HashMap;
@ -10,13 +13,12 @@ use libpso::character::settings;
use libpso::character::character as pso_character;
use libpso::character::guildcard;
use elseware::entity::gateway::EntityGateway;
use elseware::entity::account::{UserAccount, UserSettings, GuildCardData};
use elseware::entity::character::Character;
use elseware::utf8_to_utf16_array;
use entity::gateway::EntityGateway;
use entity::account::{UserAccount, UserSettings, GuildCardData};
use entity::character::Character;
use login::LoginServerState;
use character::CharacterServerState;
use login::login::LoginServerState;
use login::character::CharacterServerState;
use std::time::SystemTime;
@ -97,11 +99,11 @@ fn main() {
let auth_thread = thread::spawn(|| {
let auth_state = LoginServerState::new(LoginStubData::new());
elseware::common::mainloop::mainloop(auth_state, login::LOGIN_PORT);
common::mainloop::mainloop(auth_state, login::login::LOGIN_PORT);
});
let char_thread = thread::spawn(|| {
let char_state = CharacterServerState::new(LoginStubData::new());
elseware::common::mainloop::mainloop(char_state, character::CHARACTER_PORT);
common::mainloop::mainloop(char_state, login::character::CHARACTER_PORT);
});
auth_thread.join().unwrap();

1
src/patch/mod.rs Normal file
View File

@ -0,0 +1 @@
pub mod patch;

View File

@ -8,8 +8,9 @@ use crc::{crc32, Hasher32};
use libpso::{PacketParseError, PSOPacket};
use libpso::packet::patch::*;
use libpso::crypto::pc::PSOPCCipher;
use elseware::common::network::{PacketNetworkError};
use elseware::common::serverstate::{RecvServerPacket, SendServerPacket, ServerState, OnConnect, ClientId};
use crate::common::network::{PacketNetworkError};
use crate::common::serverstate::{RecvServerPacket, SendServerPacket, ServerState, OnConnect, ClientId};
pub const PATCH_PORT: u16 = 11000;

View File

@ -1,5 +1,8 @@
#![feature(const_generics)]
mod common;
mod patch;
use patch::{PatchServerState, PatchTreeIterItem, generate_patch_tree, PATCH_PORT};
use crate::patch::patch::{PatchServerState, PatchTreeIterItem, generate_patch_tree, PATCH_PORT};
fn main() {
println!("[patch] starting server");
@ -30,7 +33,7 @@ fn main() {
}
let patch_state = PatchServerState::new(patch_file_tree, patch_file_lookup);
elseware::common::mainloop::mainloop(patch_state, PATCH_PORT);
common::mainloop::mainloop(patch_state, PATCH_PORT);
println!("[patch] exiting...");
}