@@ -77,7 +77,38 @@ function generateCrcTable(): void {
77
77
crcTable = buffer ;
78
78
}
79
79
80
- export function runGameServer ( ) : void {
80
+ function openServer ( ) : void {
81
+ net . createServer ( socket => {
82
+ socket . setNoDelay ( true ) ;
83
+ socket . setKeepAlive ( true ) ;
84
+ socket . setTimeout ( 30000 ) ;
85
+
86
+ let clientConnection = new ClientConnection ( socket ) ;
87
+
88
+ socket . on ( 'data' , data => {
89
+ if ( clientConnection ) {
90
+ clientConnection . parseIncomingData ( new ByteBuffer ( data ) ) ;
91
+ }
92
+ } ) ;
93
+
94
+ socket . on ( 'close' , ( ) => {
95
+ if ( clientConnection ) {
96
+ clientConnection . connectionDestroyed ( ) ;
97
+ clientConnection = null ;
98
+ }
99
+ } ) ;
100
+
101
+ socket . on ( 'error' , error => {
102
+ logger . error ( 'Socket destroyed due to connection error.' ) ;
103
+ logger . error ( error . message ) ;
104
+ socket . destroy ( ) ;
105
+ } ) ;
106
+ } ) . listen ( serverConfig . port , serverConfig . host ) ;
107
+
108
+ logger . info ( `Game server listening on port ${ serverConfig . port } .` ) ;
109
+ }
110
+
111
+ export async function runGameServer ( ) : Promise < void > {
81
112
serverConfig = parseServerConfig ( ) ;
82
113
83
114
if ( ! serverConfig ) {
@@ -97,46 +128,15 @@ export function runGameServer(): void {
97
128
// delete cache.indices;
98
129
99
130
world = new World ( ) ;
100
- injectPlugins ( ) . then ( ( ) => {
101
- world . init ( ) ;
102
-
103
- // delete cache.mapData;
104
-
105
- if ( process . argv . indexOf ( '-fakePlayers' ) !== - 1 ) {
106
- world . generateFakePlayers ( ) ;
107
- }
131
+ await injectPlugins ( ) ;
108
132
109
- net . createServer ( socket => {
110
- logger . info ( 'Socket opened' ) ;
133
+ world . init ( ) ; // .then(() => delete cache.mapData);
111
134
112
- socket . setNoDelay ( true ) ;
113
- socket . setKeepAlive ( true ) ;
114
- socket . setTimeout ( 30000 ) ;
115
-
116
- let clientConnection = new ClientConnection ( socket ) ;
117
-
118
- socket . on ( 'data' , data => {
119
- if ( clientConnection ) {
120
- clientConnection . parseIncomingData ( new ByteBuffer ( data ) ) ;
121
- }
122
- } ) ;
123
-
124
- socket . on ( 'close' , ( ) => {
125
- if ( clientConnection ) {
126
- clientConnection . connectionDestroyed ( ) ;
127
- clientConnection = null ;
128
- }
129
- } ) ;
130
-
131
- socket . on ( 'error' , error => {
132
- logger . error ( error . message ) ;
133
- socket . destroy ( ) ;
134
- logger . error ( 'Socket destroyed due to connection error.' ) ;
135
- } ) ;
136
- } ) . listen ( serverConfig . port , serverConfig . host ) ;
135
+ if ( process . argv . indexOf ( '-fakePlayers' ) !== - 1 ) {
136
+ world . generateFakePlayers ( ) ;
137
+ }
137
138
138
- logger . info ( `Game server listening on port ${ serverConfig . port } .` ) ;
139
- } ) ;
139
+ openServer ( ) ;
140
140
141
141
const watcher = watch ( 'dist/plugins/' ) ;
142
142
watcher . on ( 'ready' , ( ) => {
0 commit comments