Skip to content
This repository was archived by the owner on Dec 1, 2022. It is now read-only.

Merged version 1.0.5 for release #13

Merged
merged 18 commits into from
Aug 25, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 6 additions & 9 deletions src/main/kotlin/com/jacobtread/relay/App.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,26 @@

package com.jacobtread.relay

import com.jacobtread.relay.command.CommandManager
import com.jacobtread.relay.http.startHttpServer
import com.jacobtread.relay.servers.startMainServer
import com.jacobtread.relay.servers.startRedirector
import com.jacobtread.relay.utils.logging.Logger
import io.netty.channel.nio.NioEventLoopGroup
import java.util.concurrent.CompletableFuture as Future

fun main() {
Environment // Make sure environment is initialized

// TODO: Implement auto-updater

val bossGroup = NioEventLoopGroup()
val workerGroup = NioEventLoopGroup()

startRedirector(bossGroup, workerGroup)
startHttpServer(bossGroup, workerGroup)
startMainServer(bossGroup, workerGroup)
Future.allOf(
startRedirector(bossGroup, workerGroup),
startHttpServer(bossGroup, workerGroup),
startMainServer(bossGroup, workerGroup),
).get()

System.gc() // Cleanup after initialization

Logger.info("Server startup complete.")

CommandManager.start()
}

50 changes: 24 additions & 26 deletions src/main/kotlin/com/jacobtread/relay/Environment.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,18 @@ package com.jacobtread.relay

import com.jacobtread.blaze.logging.PacketLogger
import com.jacobtread.relay.data.Constants
import com.jacobtread.relay.data.blaze.DebugLoggingHandler
import com.jacobtread.relay.blaze.DebugLoggingHandler
import com.jacobtread.relay.data.retriever.OriginDetailsRetriever
import com.jacobtread.relay.data.retriever.Retriever
import com.jacobtread.relay.database.adapter.DatabaseAdapter
import com.jacobtread.relay.database.adapter.sql.MySQLDatabaseAdapter
import com.jacobtread.relay.database.adapter.sql.SQLiteDatabaseAdapter
import com.jacobtread.relay.exceptions.DatabaseException
import com.jacobtread.relay.database.Database
import com.jacobtread.relay.database.RuntimeDriver
import com.jacobtread.relay.utils.logging.Logger
import java.io.IOException
import java.nio.file.Files
import java.nio.file.Paths
import java.nio.file.StandardCopyOption
import java.security.Security
import java.sql.SQLException
import java.util.*

/**
Expand All @@ -26,8 +25,6 @@ import java.util.*
*/
object Environment {

val database: DatabaseAdapter

val externalAddress: String

val redirectorPort: Int
Expand Down Expand Up @@ -122,27 +119,28 @@ object Environment {
// Database configuration
val databaseType = env.stringValue("RELAY_DATABASE_TYPE", "database.type", "sqlite")
.lowercase()
database = when (databaseType) {
"mysql" -> {
val host = env.stringValue("RELAY_MYSQL_HOST", "database.host", "127.0.0.1")
val port = env.intValue("RELAY_MYSQL_PORT", "database.port", 3306)
val user = env.stringValue("RELAY_MYSQL_USER", "database.user", "root")
val password = env.stringValue("RELAY_MYSQL_PASSWORD", "database.password", "password")
val database = env.stringValue("RELAY_MYSQL_DATABASE", "database.db", "relay")
MySQLDatabaseAdapter(host, port, user, password, database)
}
try {
when (databaseType) {
"mysql" -> {
val host = env.stringValue("RELAY_MYSQL_HOST", "database.host", "127.0.0.1")
val port = env.intValue("RELAY_MYSQL_PORT", "database.port", 3306)
val user = env.stringValue("RELAY_MYSQL_USER", "database.user", "root")
val password = env.stringValue("RELAY_MYSQL_PASSWORD", "database.password", "password")
val database = env.stringValue("RELAY_MYSQL_DATABASE", "database.db", "relay")
val connection = RuntimeDriver.createMySQLConnection(host, port, user, password, database)
Database.init(connection, false)
}

"sqlite" -> {
val file = env.stringValue("RELAY_SQLITE_FILE", "database.file", "data/app.db")
SQLiteDatabaseAdapter(file)
}
"sqlite" -> {
val file = env.stringValue("RELAY_SQLITE_FILE", "database.file", "data/app.db")
val connection = RuntimeDriver.createSQLiteConnection(file)
Database.init(connection, true)
}

else -> Logger.fatal("Unknwon database type: $databaseType (expected mysql, or sqlite)")
}
try {
database.setup()
} catch (e: DatabaseException) {
Logger.fatal("Failed to setup database", e)
else -> Logger.fatal("Unknwon database type: $databaseType (expected mysql, or sqlite)")
}
} catch (e: SQLException) {
Logger.fatal("Failed to initialize database", e)
}

val retrieverEnabled = env.booleanValue("RELAY_RETRIEVE_OFFICIAL", "retriever.enabled", true)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.jacobtread.relay.data.blaze
package com.jacobtread.relay.blaze

@Suppress("unused")
object Commands {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.jacobtread.relay.data.blaze
package com.jacobtread.relay.blaze

@Suppress("unused")
object Components {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.jacobtread.relay.data.blaze
package com.jacobtread.relay.blaze

import com.jacobtread.blaze.logging.BlazeLoggingHandler
import com.jacobtread.relay.utils.logging.Logger
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.jacobtread.relay.data.blaze
package com.jacobtread.relay.blaze

import com.jacobtread.blaze.error
import com.jacobtread.blaze.packet.Packet
Expand Down
71 changes: 0 additions & 71 deletions src/main/kotlin/com/jacobtread/relay/command/Command.kt

This file was deleted.

52 changes: 0 additions & 52 deletions src/main/kotlin/com/jacobtread/relay/command/CommandManager.kt

This file was deleted.

127 changes: 0 additions & 127 deletions src/main/kotlin/com/jacobtread/relay/command/commands/GamesCommand.kt

This file was deleted.

Loading