Fixed singleplayer failure caused by worldgen

Former-commit-id: a2fdb56682922694b32e4d25890afa7a90c5b923
This commit is contained in:
Joshua Barretto 2019-05-21 23:31:17 +01:00
parent 0c78264ebc
commit a696847f67
3 changed files with 8 additions and 7 deletions

View File

@ -1,3 +1,4 @@
use log::info;
use client::{error::Error as ClientError, Client};
use common::comp;
use std::{
@ -32,6 +33,7 @@ impl ClientInit {
thread::spawn(move || {
// Sleep the thread to wait for the single-player server to start up.
if wait {
info!("Waiting for server to come up...");
thread::sleep(Duration::from_millis(500));
}
// Parse ip address or resolves hostname.

View File

@ -29,7 +29,7 @@ impl PlayState for StartSingleplayerState {
let server_address = self.sock.ip().to_string();
let client_init = ClientInit::new(
(server_address.clone(), self.sock.port(), false),
(server_address.clone(), self.sock.port(), true),
comp::Player::new(username.clone(), Some(10)),
true,
);

View File

@ -31,9 +31,11 @@ impl Singleplayer {
pick_unused_port().expect("Failed to find unused port!"),
));
let sock2 = sock.clone();
// Create server
let server = Server::bind(sock.clone()).expect("Failed to create server instance!");
let thread = thread::spawn(move || {
run_server(sock2, reciever);
run_server(server, reciever);
});
(
@ -53,15 +55,12 @@ impl Drop for Singleplayer {
}
}
fn run_server(sock: SocketAddr, rec: Receiver<Msg>) {
fn run_server(mut server: Server, rec: Receiver<Msg>) {
info!("Starting server-cli...");
// Set up an fps clock
let mut clock = Clock::new();
// Create server
let mut server = Server::bind(sock).expect("Failed to create server instance!");
loop {
let events = server
.tick(Input::default(), clock.get_last_delta())