mirror of https://github.com/louislam/uptime-kuma
				
				
				
			Feat: add givenPortOnly as gamedig option (#3532)
							parent
							
								
									4e0bb394db
								
							
						
					
					
						commit
						2921f33c24
					
				| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
-- You should not modify if this have pushed to Github, unless it does serious wrong with the db.
 | 
			
		||||
BEGIN TRANSACTION;
 | 
			
		||||
 | 
			
		||||
ALTER TABLE monitor
 | 
			
		||||
    ADD gamedig_given_port_only BOOLEAN default 1 not null;
 | 
			
		||||
 | 
			
		||||
COMMIT;
 | 
			
		||||
| 
						 | 
				
			
			@ -80,6 +80,7 @@ class Database {
 | 
			
		|||
        "patch-add-certificate-expiry-status-page.sql": true,
 | 
			
		||||
        "patch-monitor-oauth-cc.sql": true,
 | 
			
		||||
        "patch-add-timeout-monitor.sql": true,
 | 
			
		||||
        "patch-add-gamedig-given-port.sql": true,
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -135,6 +135,7 @@ class Monitor extends BeanModel {
 | 
			
		|||
            radiusCalledStationId: this.radiusCalledStationId,
 | 
			
		||||
            radiusCallingStationId: this.radiusCallingStationId,
 | 
			
		||||
            game: this.game,
 | 
			
		||||
            gamedigGivenPortOnly: this.getGameDigGivenPortOnly(),
 | 
			
		||||
            httpBodyEncoding: this.httpBodyEncoding,
 | 
			
		||||
            jsonPath: this.jsonPath,
 | 
			
		||||
            expectedValue: this.expectedValue,
 | 
			
		||||
| 
						 | 
				
			
			@ -280,6 +281,10 @@ class Monitor extends BeanModel {
 | 
			
		|||
        return JSON.parse(this.accepted_statuscodes_json);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    getGameDigGivenPortOnly() {
 | 
			
		||||
        return Boolean(this.gamedigGivenPortOnly);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Start monitor
 | 
			
		||||
     * @param {Server} io Socket server instance
 | 
			
		||||
| 
						 | 
				
			
			@ -687,7 +692,7 @@ class Monitor extends BeanModel {
 | 
			
		|||
                            type: this.game,
 | 
			
		||||
                            host: this.hostname,
 | 
			
		||||
                            port: this.port,
 | 
			
		||||
                            givenPortOnly: true,
 | 
			
		||||
                            givenPortOnly: this.getGameDigGivenPortOnly(),
 | 
			
		||||
                        });
 | 
			
		||||
 | 
			
		||||
                        bean.msg = state.name;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -775,6 +775,7 @@ let needSetup = false;
 | 
			
		|||
                bean.kafkaProducerAllowAutoTopicCreation = monitor.kafkaProducerAllowAutoTopicCreation;
 | 
			
		||||
                bean.kafkaProducerSaslOptions = JSON.stringify(monitor.kafkaProducerSaslOptions);
 | 
			
		||||
                bean.kafkaProducerMessage = monitor.kafkaProducerMessage;
 | 
			
		||||
                bean.gamedigGivenPortOnly = monitor.gamedigGivenPortOnly;
 | 
			
		||||
 | 
			
		||||
                bean.validate();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -804,5 +804,7 @@
 | 
			
		|||
    "nostrRecipients": "Recipients Public Keys (npub)",
 | 
			
		||||
    "nostrRecipientsHelp": "npub format, one per line",
 | 
			
		||||
    "showCertificateExpiry": "Show Certificate Expiry",
 | 
			
		||||
    "noOrBadCertificate": "No/Bad Certificate"
 | 
			
		||||
    "noOrBadCertificate": "No/Bad Certificate",
 | 
			
		||||
    "gamedigGuessPort": "Gamedig: Guess Port",
 | 
			
		||||
    "gamedigGuessPortDescription": "The port used by Valve Server Query Protocol may be different from the client port. Try this if the monitor cannot connect to your server."
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -455,6 +455,16 @@
 | 
			
		|||
                                </div>
 | 
			
		||||
                            </div>
 | 
			
		||||
 | 
			
		||||
                            <div v-if="monitor.type === 'gamedig'" class="my-3 form-check">
 | 
			
		||||
                                <input id="gamedig-guess-port" v-model="monitor.gamedigGivenPortOnly" :true-value="false" :false-value="true" class="form-check-input" type="checkbox">
 | 
			
		||||
                                <label class="form-check-label" for="gamedig-guess-port">
 | 
			
		||||
                                    {{ $t("gamedigGuessPort") }}
 | 
			
		||||
                                </label>
 | 
			
		||||
                                <div class="form-text">
 | 
			
		||||
                                    {{ $t("gamedigGuessPortDescription") }}
 | 
			
		||||
                                </div>
 | 
			
		||||
                            </div>
 | 
			
		||||
 | 
			
		||||
                            <!-- Ping packet size -->
 | 
			
		||||
                            <div v-if="monitor.type === 'ping'" class="my-3">
 | 
			
		||||
                                <label for="packet-size" class="form-label">{{ $t("Packet Size") }}</label>
 | 
			
		||||
| 
						 | 
				
			
			@ -870,6 +880,7 @@ const monitorDefaults = {
 | 
			
		|||
    kafkaProducerSaslOptions: {
 | 
			
		||||
        mechanism: "None",
 | 
			
		||||
    },
 | 
			
		||||
    gamedigGivenPortOnly: true,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue