use of net.minecraft.server.v1_15_R1.Packet in project jop by jop-devel.
the class Ppp method readIp.
/**
* get a Packet buffer and copy from receive buffer.
*/
void readIp() {
int i, j, k;
// PacketPool.getFreshRcvPacket(single);
Packet p = null;
if (p == null) {
Dbg.wr('!');
// try again later
return;
}
// buf blocks receive buffer :-<
int[] pb = p.buf;
// minus ppp header and checksum
cnt -= 6;
rbuf[cnt + 4] = 0;
rbuf[cnt + 4 + 1] = 0;
rbuf[cnt + 4 + 2] = 0;
// copy buffer
k = 0;
for (i = 0; i < cnt; i += 4) {
for (j = 0; j < 4; ++j) {
k <<= 8;
// after header
k += rbuf[i + j + 4];
}
pb[i >>> 2] = k;
}
p.setLen(cnt);
Dbg.wr('r');
Dbg.intVal(cnt);
/*
dbgIp(pb[3]);
dbgIp(pb[4]);
for (i=0; i<(cnt+4)>>2; ++i) Dbg.hexVal(pb[i]);
Dbg.wr('\n');
*/
cnt = 0;
ready = false;
// inform upper layer
p.setStatus(Packet.RCV);
}
use of net.minecraft.server.v1_15_R1.Packet in project jop by jop-devel.
the class Tftp method resend.
private static void resend() {
time <<= 1;
if (time > 64) {
Dbg.wr("TFTP give up");
tftpInit();
return;
}
Dbg.wr("TFTP resend ");
Dbg.intVal(block_out);
// retransmit DATA
timeout = Timer.getTimeoutSec(time);
Packet p = PacketPool.getFreshPacket();
// Packet p = PacketPool.getPacket(Packet.FREE, Packet.ALLOC, ipLink);
if (p == null) {
// got no free buffer!
Dbg.wr('!');
Dbg.wr('b');
return;
}
p.buf[Udp.DATA] = (DAT << 16) + block_out;
if (block_out == endBlock) {
// last block is zero length
p.setLen(Udp.DATA * 4 + 4);
} else {
read(p.buf, block_out);
p.setLen(Udp.DATA * 4 + 4 + 512);
}
Udp.send(p, srcIp, dstIp, dstPort);
}
use of net.minecraft.server.v1_15_R1.Packet in project vespa by vespa-engine.
the class VdsStreamingSearcher method doSearch2.
@Override
public Result doSearch2(Query query, QueryPacket queryPacket, CacheKey cacheKey, Execution execution) {
// TODO refactor this method into smaller methods, it's hard to see the actual code
lazyTrace(query, 7, "Routing to storage cluster ", getStorageClusterRouteSpec());
if (route == null) {
route = Route.parse(getStorageClusterRouteSpec());
}
lazyTrace(query, 8, "Route is ", route);
lazyTrace(query, 7, "doSearch2(): query docsum class=", query.getPresentation().getSummary(), ", default docsum class=", getDefaultDocsumClass());
if (query.getPresentation().getSummary() == null) {
lazyTrace(query, 6, "doSearch2(): No summary class specified in query, using default: ", getDefaultDocsumClass());
query.getPresentation().setSummary(getDefaultDocsumClass());
} else {
lazyTrace(query, 6, "doSearch2(): Summary class has been specified in query: ", query.getPresentation().getSummary());
}
lazyTrace(query, 8, "doSearch2(): rank properties=", query.getRanking());
lazyTrace(query, 8, "doSearch2(): sort specification=", query.getRanking().getSorting() == null ? null : query.getRanking().getSorting().fieldOrders());
int documentSelectionQueryParameterCount = 0;
if (query.properties().getString(streamingUserid) != null)
documentSelectionQueryParameterCount++;
if (query.properties().getString(streamingGroupname) != null)
documentSelectionQueryParameterCount++;
if (query.properties().getString(streamingSelection) != null)
documentSelectionQueryParameterCount++;
if (documentSelectionQueryParameterCount != 1) {
return new Result(query, ErrorMessage.createBackendCommunicationError("Streaming search needs one and " + "only one of these query parameters to be set: streaming.userid, streaming.groupname, " + "streaming.selection"));
}
query.trace("Routing to search cluster " + getSearchClusterConfigId(), 4);
Visitor visitor = visitorFactory.createVisitor(query, getSearchClusterConfigId(), route);
try {
visitor.doSearch();
} catch (ParseException e) {
return new Result(query, ErrorMessage.createBackendCommunicationError("Failed to parse document selection string: " + e.getMessage() + "'."));
} catch (TokenMgrError e) {
return new Result(query, ErrorMessage.createBackendCommunicationError("Failed to tokenize document selection string: " + e.getMessage() + "'."));
} catch (TimeoutException e) {
return new Result(query, ErrorMessage.createTimeout(e.getMessage()));
} catch (InterruptedException | IllegalArgumentException e) {
return new Result(query, ErrorMessage.createBackendCommunicationError(e.getMessage()));
}
lazyTrace(query, 8, "offset=", query.getOffset(), ", hits=", query.getHits());
Result result = new Result(query);
// Sorted on rank
List<SearchResult.Hit> hits = visitor.getHits();
Map<String, DocumentSummary.Summary> summaryMap = visitor.getSummaryMap();
lazyTrace(query, 7, "total hit count = ", visitor.getTotalHitCount(), ", returned hit count = ", hits.size(), ", summary count = ", summaryMap.size());
result.setTotalHitCount(visitor.getTotalHitCount());
query.trace(visitor.getStatistics().toString(), false, 2);
query.getContext(true).setProperty(STREAMING_STATISTICS, visitor.getStatistics());
Packet[] summaryPackets = new Packet[hits.size()];
int index = 0;
boolean skippedEarlierResult = false;
for (SearchResult.Hit hit : hits) {
if (!verifyDocId(hit.getDocId(), query, skippedEarlierResult)) {
skippedEarlierResult = true;
continue;
}
FastHit fastHit = buildSummaryHit(query, hit);
result.hits().add(fastHit);
DocumentSummary.Summary summary = summaryMap.get(hit.getDocId());
if (summary != null) {
DocsumPacket dp = new DocsumPacket(summary.getSummary());
// log.log(LogLevel.SPAM, "DocsumPacket: " + dp);
summaryPackets[index] = dp;
} else {
return new Result(query, ErrorMessage.createBackendCommunicationError("Did not find summary for hit with document id " + hit.getDocId()));
}
index++;
}
if (result.isFilled(query.getPresentation().getSummary())) {
lazyTrace(query, 8, "Result is filled for summary class ", query.getPresentation().getSummary());
} else {
lazyTrace(query, 8, "Result is not filled for summary class ", query.getPresentation().getSummary());
}
List<Grouping> groupingList = visitor.getGroupings();
lazyTrace(query, 8, "Grouping list=", groupingList);
if (!groupingList.isEmpty()) {
GroupingListHit groupHit = new GroupingListHit(groupingList, getDocsumDefinitionSet(query));
result.hits().add(groupHit);
}
int skippedHits;
try {
FillHitsResult fillHitsResult = fillHits(result, summaryPackets, query.getPresentation().getSummary());
skippedHits = fillHitsResult.skippedHits;
if (fillHitsResult.error != null) {
result.hits().addError(ErrorMessage.createTimeout(fillHitsResult.error));
return result;
}
} catch (TimeoutException e) {
result.hits().addError(ErrorMessage.createTimeout(e.getMessage()));
return result;
} catch (IOException e) {
return new Result(query, ErrorMessage.createBackendCommunicationError("Error filling hits with summary fields"));
}
if (skippedHits == 0) {
// TODO: cache results or result.analyzeHits(); ?
query.trace("All hits have been filled", 4);
} else {
lazyTrace(query, 8, "Skipping some hits for query: ", result.getQuery());
}
lazyTrace(query, 8, "Returning result ", result);
if (skippedHits > 0) {
getLogger().info("skipping " + skippedHits + " hits for query: " + result.getQuery());
result.hits().addError(com.yahoo.search.result.ErrorMessage.createTimeout("Missing hit summary data for " + skippedHits + " hits"));
}
return result;
}
use of net.minecraft.server.v1_15_R1.Packet in project solinia3-core by mixxit.
the class ForgeUtils method sendForgeMessage.
public static void sendForgeMessage(Player player, String channelName, byte discriminator, String message) throws Exception {
ByteArrayOutputStream stream = new ByteArrayOutputStream();
DataOutputStream dataOut = new DataOutputStream(stream);
try {
// diesieben07 - Forge uses an unsigned byte for the discriminator, for a start
// dataOut.writeInt(discriminator);
dataOut.writeByte(discriminator);
// diesieben07 - But you should really send some kind of length prefix
// and then only read that much of the string
// You're already using DataOuput, it has writeUTFString
// dataOut.write(message.getBytes(StandardCharsets.UTF_8));
dataOut.writeUTF(message);
PacketPlayOutCustomPayload packet = new PacketPlayOutCustomPayload(new MinecraftKey(channelName), new PacketDataSerializer(Unpooled.wrappedBuffer(stream.toByteArray())));
((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
} finally {
dataOut.close();
stream.close();
}
}
use of net.minecraft.server.v1_15_R1.Packet in project solinia3-core by mixxit.
the class Solinia3CorePlayerListener method onPlayerJoin.
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
if (event.getPlayer() != null)
event.getPlayer().setCollidable(false);
for (PotionEffect effect : event.getPlayer().getActivePotionEffects()) event.getPlayer().removePotionEffect(effect.getType());
// disable knockback effects, try to remove mounted arrows
try {
if (event.getPlayer().getVehicle() != null) {
event.getPlayer().eject();
event.getPlayer().getVehicle().eject();
}
EntityHuman entityHuman = ((CraftPlayer) event.getPlayer()).getHandle();
entityHuman.getAttributeInstance(GenericAttributes.KNOCKBACK_RESISTANCE).setValue(1.0D);
} catch (Exception ex) {
ex.printStackTrace();
}
SoliniaPlayerJoinEvent soliniaevent;
try {
ISoliniaPlayer solplayer = SoliniaPlayerAdapter.Adapt(event.getPlayer());
soliniaevent = new SoliniaPlayerJoinEvent(event, solplayer);
solplayer.resetPlayerStatus(plugin);
Bukkit.getPluginManager().callEvent(soliniaevent);
// Reset users mod version
StateManager.getInstance().getPlayerManager().resetPlayerVersion(event.getPlayer().getUniqueId());
// Reset users Zone Packet
StateManager.getInstance().getPlayerManager().setPlayerLastZone(event.getPlayer(), -1);
if (solplayer.isForceNewAlt() || (!solplayer.isPlayable() && !event.getPlayer().isOp() && !event.getPlayer().hasPermission("solinia.characterdonochangelocation"))) {
event.getPlayer().sendMessage("You have been forced to create a new character");
EntityUtils.teleportSafely(event.getPlayer(), Bukkit.getWorld("world").getSpawnLocation());
StateManager.getInstance().getPlayerManager().createNewPlayerAlt(plugin, event.getPlayer(), false);
}
// patch
if (solplayer.getClassObj() != null)
solplayer.setChosenClass(true);
else
solplayer.setChosenClass(false);
// patch
if (solplayer.getRace() != null)
solplayer.setChosenRace(true);
else
solplayer.setChosenRace(false);
if (solplayer.getWorld().getPlayerIpNameMappings().get(event.getPlayer().getAddress().getAddress().toString()) == null) {
solplayer.getWorld().getPlayerIpNameMappings().put(event.getPlayer().getAddress().getAddress().toString(), new ArrayList<String>());
}
String players = "";
try {
if (!solplayer.getWorld().getPlayerIpNameMappings().get(event.getPlayer().getAddress().getAddress().toString()).contains(event.getPlayer().getUniqueId().toString()))
solplayer.getWorld().getPlayerIpNameMappings().get(event.getPlayer().getAddress().getAddress().toString()).add(event.getPlayer().getUniqueId().toString());
ArrayList<String> playerUuids = solplayer.getWorld().getPlayerIpNameMappings().get(event.getPlayer().getAddress().getAddress().toString());
for (String playerUuid : playerUuids) {
try {
players += Bukkit.getOfflinePlayer(UUID.fromString(playerUuid)).getName() + " ";
} catch (Exception e) {
}
}
ChatUtils.SendHintToServer(HINT.PLAYER_JOIN, event.getPlayer().getName() + " (" + solplayer.getFullName() + ") has joined the game aka: " + players);
} catch (Exception e) {
// not vital if this fails
}
try {
LivingEntity pet = StateManager.getInstance().getEntityManager().getPet(event.getPlayer().getUniqueId());
if (pet != null) {
ISoliniaLivingEntity petsolEntity = SoliniaLivingEntityAdapter.Adapt(pet);
StateManager.getInstance().getEntityManager().removePet(event.getPlayer().getUniqueId(), !petsolEntity.isCharmed());
}
} catch (CoreStateInitException e) {
}
solplayer.sendSlotsAsPacket();
solplayer.sendMemorisedSpellSlots();
} catch (CoreStateInitException e) {
event.getPlayer().kickPlayer("Server initialising");
}
}
Aggregations