-
Hi,
how to fix this error (player got kicked for shooting with a weapon)
MissingFieldException: Field ‘ProtoBuf.Attack.hitItem’ not found.
7x.2xx.x.x76:5xxx1/76xx119xxxxx48xx0/PxxGaxxr32x kicked: RPC Error:
onprojectileattack
[Oxide] 23:46 [Info] [Notifier] [K9] PxxGaxxr32x left the server
MissingFieldException: Field ‘ProtoBuf.Attack.hitItem’ not found.Last edited by a moderator: Mar 25, 2016 -
Hi, Sorry for my english.
I come to you because I do the update but since I get this error.
MissingFieldException: Field ‘ProtoBuf.Attack.hitItem’ not found.
would you have a solution please ?
thanks
Last edited by a moderator: Mar 24, 2016 -
I just put the tp plugin inside of the correct directory it was working but now it won t work for examples after
i type ./tpr «name» nothink happen but nothink for real like if i never typed this think …can someone help me to fix that ?-BoB,Sorry for my bad english
-
same here
when a player hit somethingkicked: RPC Error: on projectileattack
MissingFieldException: Field ‘ProtoBuf.Attack.hitItem’ not found. -
Re-install in the correct directory(Straight from forum), if that doesn’t work try and re-install oxide.
-
Try remove and reinstall the mod..
[DOUBLEPOST=1458865286][/DOUBLEPOST]If this happened this morning. Then
you most likely have not updated oxide today. Oxide is updated every time rust is.. -
update the server itself through steamcmd.
-
im getting this come up whenever i shoot or hit anything (Reason: RPC Error: onprojectileattack) can anyone help?
iv updated oxide but still happeningeverytime i shoot or hit an object with a weapon or axe it shows leigh left the server. (Reason: RPC Error: playerattack) admins and players its happening to so iv
reinstalled oxide but still happens can anyone help?thanks
Last edited by a moderator: Mar 25, 2016 -
Wulf
Community Admin
Did you update the Rust server before updating Oxide?
-
i just updated oxide, because updating the server wipes it and i didnt want to wipe the server but looks like i
might have to -
Wulf
Community Admin
You can’t update to an incompatible build of Oxide without updating Rust first.
-
ok i will update my server then do oxide again thank you
-
I ‘m updating my server then oxide but it still does not go because I always mistake you have a solution?
-
got it sorted now, update your server then oxide then rust io thats all i done
-
I even try without plugins but it does not always
-
still not working here….
Already updated server + oxide several times. Tried to delete R-Anticheat, doesnt matter. It wont work.
-
I always have this error
I tried without plugins
and also setting a server update and update oxide but it does not work
sorry if I double post but the other is labeled resolved but me it is not
(08:17:30) | [Oxide] 08:17 [Info] [Notifier] Deadly left the server (Reason: Kicked: RPC Error: playerattack)
(08:17:30) | MissingFieldException: Field
‘ProtoBuf.Attack.hitItem’ not found.thank you very much
Last edited by a moderator: Mar 28, 2016
Since last forced wipe update, players on our modded server are getting kicked with the following error message:
NullReferenceException
at (wrapper managed-to-native) UnityEngine.Object.GetName(UnityEngine.Object)
at UnityEngine.Object.get_name () [0x00001] in <0b31faaf1c50461d95c83ac166a20393>:0
at CombatLog.Log (BaseEntity attacker, AttackEntity weapon, BaseCombatEntity hitEntity, System.String description, Projectile projectilePrefab, System.Int32 projectileId, System.Single healthOld, HitInfo hitInfo) [0x00125] in <d725728807504da5bebc24cdaa95c779>:0
at CombatLog.LogInvalid (HitInfo info, System.String description) [0x00000] in <d725728807504da5bebc24cdaa95c779>:0
at BasePlayer.OnProjectileAttack (BaseEntity+RPCMessage msg) [0x00ba4] in <d725728807504da5bebc24cdaa95c779>:0
at BasePlayer.OnRpcMessage (BasePlayer player, System.UInt32 rpc, Network.Message msg) [0x00721] in <d725728807504da5bebc24cdaa95c779>:0
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
BasePlayer:OnRpcMessage(BasePlayer, UInt32, Message)
BaseEntity:SV_RPCMessage(UInt32, Message)
ServerMgr:OnRPCMessage(Message)
ServerMgr:OnNetworkMessage(Message)
Facepunch.Network.Raknet.Server:ConnectedPacket(Connection)
Facepunch.Network.Raknet.Server:Cycle()
ServerMgr:Update()
IP:PORT/765611980000000/Player kicked: RPC Error in OnProjectileAttack
This happens when players are getting killed. Most of the time by patrol helicopter, but also by NPC’s and even player kills (headshots I heard?). It happens totally random as far as I could see. Not every kill (it’s occasionally), not always the same player, weapons, location or heli attack mode and weapons, everything is random.
We hoped it was the map we were using, but the problem still occurred after we switched maps.
We already tried vanilla helicopters and unloaded all plugins related to heli and/or weapons.
Some plugin developers were saying it’s a Rust bug and this bug was reported already. Does anyone else have this problem recently? I can’t find anything but a few people recently complaining about this problem, which makes me think it’s not Rust, but on us or our plugins.
If anyone has an idea what could cause this or if you’re experiencing the same problem, please let me know.
-
#1
Когда я скачал плагины RustNET и SecurityCameras, всё было норм, я ставил публичые и нет камеры, но после того, как я прилетел на космодром и попытался поставить ноут, раст вылетел, и не запускался, я перезапустил комп, раст запустился. Не мог зайти на сервер по причине этой ошибки. Перезагрузил сервер, когда зашел, всё было вроде норм, но я не мог шевелить головой. После загрузки плагинов меня выкинула с серва, опять из-за этой ошибки, я его перезапустил, после чего я зашёл на него, было тоже самое. Я загрузил плагин, потом ещё, а когда я загрузил плагин с GUI, выкинуло с сервака.
-
#2
Такие ошибки выдаёт когда в плагине косячный GUI
-
#3
Такие ошибки выдаёт когда в плагине косячный GUI
Так почему всё было норм, и вдруг GUI у Всех плагинов оказался косячным?
-
#4
Так почему всё было норм, и вдруг GUI у Всех плагинов оказался косячным?
Тогда почему когда выходит какая то обнова от разрабов раста, потом оксид и большинство плагинов становятся не рабочими?)
-
#5
Глянь, может картинки не хватает какой-то
-
#6
обнови плагин . Разработчик все исправил еще вчера утром .
-
#7
обнови плагин . Разработчик все исправил еще вчера утром .
У меня нету новой версии( я плагин удалил, но всё равно та же пурга
-
#8
ну потому что обект установлен на карте , а плагина рабочего нет.
Хотите нормальной стабилтной работы плагинов пишите в ЛС дам промокод на хостинг , растнет и весе его плагины в пюнашей панеле управления бесплтны и всегда акутуальной версии
-
#9
Когда я скачал плагины RustNET и SecurityCameras, всё было норм, я ставил публичые и нет камеры, но после того, как я прилетел на космодром и попытался поставить ноут, раст вылетел, и не запускался, я перезапустил комп, раст запустился. Не мог зайти на сервер по причине этой ошибки. Перезагрузил сервер, когда зашел, всё было вроде норм, но я не мог шевелить головой. После загрузки плагинов меня выкинула с серва, опять из-за этой ошибки, я его перезапустил, после чего я зашёл на него, было тоже самое. Я загрузил плагин, потом ещё, а когда я загрузил плагин с GUI, выкинуло с сервака.
Ошибка
RPC Error in AddUI
Говорит об отсутствующем элементе при попытке добавить Ui-шку когда пытаетесь использовать чтото(ну или в вашем случае при установленном объекте) или фиксите сами или как сказал выше Алукар велком к ним за авторской версией плагина)
-
#10
Закрывайте тему, я решил перенести серв на хостинг
-
#11
Хотя, нет, не закрывайте, я перенес сервер на хостинг, но проблема не исчезла, а ещё я решил проверить это на других серверах, меня тоже выкидывает с них. Раст переустанавливал
-
#12
Хотя, нет, не закрывайте, я перенес сервер на хостинг, но проблема не исчезла, а ещё я решил проверить это на других серверах, меня тоже выкидывает с них. Раст переустанавливал
А чё в тиките молчанка ?
Карту ту же залил ? Если да то скорей всего нужно будет тебе вайпать сервер , ибо старая версия в паре с криво установленным объектом ничего хорошего не сделают .
Или клиент вылетает ?
Последнее редактирование: 23 Апр 2018
-
#13
А чё в тиките молчанка ?
Карту ту же залил ? Если да то скорей всего нужно будет тебе вайпать сервер , ибо старая версия в паре с криво установленным объектом ничего хорошего не сделают .
Или клиент вылетает ?
На чужих серверах тоже, не в моём дело
-
#14
На чужих серверах тоже, не в моём дело
Клиент Стим или НоСтим ?
-
#16
удали полностью клиент и кеш в стимаапс , и установи заново . И кинь полную ошибку.
-
#17
Если это поможет, у меня линукс
-
#18
Если это поможет, у меня линукс
Разницы нет игра работает через эмулятор под никсами .
-
#19
Я нашел инфу, действительно, дело в том, что у меня линукс, надо было добавить LANG=en_US %command% в параметры запуска раст. Сделал так, и всё заработало. Раньше этого не было
-
#20
А нахрена все эти плагины на сервере? Игрокам они нахер не нужны. Для них нужен стабильный сервер. Без лагов. А вся это дрибидень нах… не нужна.
-
- Искать только в заголовках
- Сообщения пользователя:
-
Имена участников (разделяйте запятой).
- Новее чем:
-
- Искать только в этой теме
- Искать только в этом разделе
- Отображать результаты в виде тем
-
Больше…
Быстрый поиск
- Последние сообщения
-
Rust — 23702.02.2023
HurtWorld — 1.0.0.6 |
HurtWorld Legacy — 0.3.8.9
Решение проблем с Rust
Решение проблем с HurtWorld
Как установить Rust
Как установить Hurtworld
Как обновить Rust
Как обновить Hurtworld
Список серверов Rust
Список серверов Hurtworld
Наш канал Discord | Канал GameWer в Discord
RPC Error
Тема в разделе «Технические вопросы по игре», создана пользователем KosiakS, 10 янв 2016.
- rpc error
-
KosiakS
Expand
Collapse
Просвещённый
Команда форума
- Регистрация:
- 11 ноя 2014
- Сообщения:
- 1.532
- Симпатии:
- 873
Если у вас появилась ошибка RPC Error, пожалуйста подробно опишите, что вы делали до её появления.
#1
KosiakS,
10 янв 2016
-
роман94
Expand
Collapse
Новичок
- Регистрация:
- 17 сен 2015
- Сообщения:
- 1
- Симпатии:
- 0
Упал с шара умер и не зареспавнился выдалo вот этот RPC Error
#2
роман94,
10 янв 2016
-
Undervud
Expand
Collapse
Новичок
- Регистрация:
- 9 янв 2016
- Сообщения:
- 1
- Симпатии:
- 0
Упал с цистерны(сфера), разбился! Валялся в агонии с 5 хп, сделал тп домой через /sethome. В доме прогрузился и в момент, когда агония прошла и уже можно было встать, выкинуло с этой ошибкой! Больше зайти в игру не удалось, всегда выскакивает RPC Error: onerespawninformation.
#3
Undervud,
10 янв 2016
-
pavel228
Expand
Collapse
Новичок
- Регистрация:
- 12 ноя 2015
- Сообщения:
- 1
- Симпатии:
- 0
undetvud у меня тоже самое
#4
pavel228,
10 янв 2016
-
Myp4uk
Expand
Collapse
Новичок
- Регистрация:
- 12 янв 2016
- Сообщения:
- 1
- Симпатии:
- 0
при подборе тыквы RPC Error
upd: кукуруза та же ошибка#5
Myp4uk,
12 янв 2016
Последнее редактирование: 12 янв 2016 -
kissmefan
Expand
Collapse
Новичок
- Регистрация:
- 31 дек 2015
- Сообщения:
- 1
- Симпатии:
- 0
таже самая байда не могу теперь зайти на сервер
#6
kissmefan,
13 янв 2016
-
Skill
Expand
Collapse
Новичок
- Регистрация:
- 2 дек 2015
- Сообщения:
- 2
- Симпатии:
- 0
Упал с цистерны на сервере client.connect rust-exp.alkad.org:28015 и выкинуло зашел на сервер загрузка на рецейвинг дате была и кикнуло пишет Disconneced RPC Error: onerespawninformation больше не могу заходить
Мой Ник CooL#7
Skill,
13 янв 2016
-
SIDREY
Expand
Collapse
Новичок
- Регистрация:
- 23 янв 2016
- Сообщения:
- 1
- Симпатии:
- 0
Бежал по лесу ночью, под дождём. сильно залагало и вылетел из игры. теперь немагу зайти на скул сервер client.connect rust-exp.alkad.org:6666. что делать??? ник SIDREY. есть какието варианты решения проблемы??????
#8
SIDREY,
2 фев 2016
Последнее редактирование: 2 фев 2016 -
KirikTheBest
Expand
Collapse
Постоянный пользователь
- Регистрация:
- 26 дек 2016
- Сообщения:
- 58
- Симпатии:
- 0
Ты же не разраб)?
#9
KirikTheBest,
31 дек 2016
Поделиться этой страницей
- Войти через Facebook
- Войти через VK
- Войти через Instagram
- Ваше имя или e-mail:
- У Вас уже есть учётная запись?
-
- Нет, зарегистрироваться сейчас.
- Да, мой пароль:
-
Забыли пароль?
-
Запомнить меня
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account
Closed
ian-p-cooke opened this issue
Jul 5, 2017
· 11 comments
Comments
I’m working through how to get everything hooked up with capnp-rpc-rust and tokio-tls and I have a working proof of concept However, while the TLS version works (the client gets the response) The server always ends the RpcSystem with an error:
rpc error: Error { kind: Failed, description: "connection closed via error" }
That error isn’t present in the no_tls example (in my repo).
Do you have any idea as to why wrapping the RPC connection in TLS would lead to this server error?
(also posted in reddit but thought this might be better as it’s not a language issue)
Copy link
Contributor
Author
I have some more information. This appears to be a MacOS/SecureTransport error. I can’t find where that string «connection closed via error» is actually built but it matches the comment for error -9806. I tested on Linux just now and the behavior is different: the server’s RpcSystem does finish cleanly for each connection.
So maybe something on the client-side isn’t shutting down the connection cleanly? Does capnp-rpc-rust call AsyncWrite’s shutdown method on the client side? I think that’s where a TLS stream is supposed to have an opportunity to clean up.
Since capnp-rpc-rust doesn’t depend on tokio-io, there’s no way that it’s calling AsyncWrite::shutdown()
. I agree that this is the likely cause of the error.
I can see two ways forward:
-
We introduce a dependency on tokio-io and update
twoparty::VatNetwork::new()
to require that itsoutput_stream
argument implementAsyncWrite
. Then we devise a way to make sure thatAsyncWrite::shutdown()
gets called during normal shutdown. -
We make
twoparty::VatNetwork::new()
take afutures::Sink<capnp::message::Builder>
and afutures::Stream<capnp::message::Reader>
instead of input and output byte streams (akastd::io::{Read,Write}
). Then we don’t need to introduce a dependency on any tokio crates. The capnp-futures-rs crate would provide facilities for converting from aAsyncRead
to aStream<message::Reader>
and for converting from aAsyncWrite
to aSink<message::Builder>
, and would do so in a way that makes sure thatshutdown()
gets called.
Copy link
Contributor
Author
I was thinking along the lines of (1). The documentation mentions that input_stream
and output_stream
have to be «futures-enabled» but the signature doesn’t reflect that. However, I was trying to figure out where shutdown
would be called from and I couldn’t quite get it; since the output_stream
is just passed into a write_queue
how is it supposed to know when it’s «done»? I see the terminate
method on Sender
but don’t know how to get from there to the write_queue
‘s output_stream
.
Copy link
Contributor
Author
I’m working on the approach of changing std::io:Write
to tokio_io::AsyncWrite
and then calling AsyncWrite::shutdown
appropriately. Changing the signatures is straightforward (I didn’t get any complaints from examples or tests after the change). However, I haven’t figured out yet when to call shutdown
. What’s the correct way of cleanly shutting down the client’s RpcSystem now? I was just letting everything drop in my example but it seems like there should be some way to let the RpcSystem know that I’m done with it before dropping.
It looks like the change would need to happen in capnp-futures-rs. When a WriteQueue
notices that it has no more messages to send (here), it could call AsyncWrite::shutdown()
before finally resolving. Getting this to work would probably involve adding at least one new state to the IntermediateState
enum.
Copy link
Contributor
Author
Yes, I think that’s correct and it’s the first thing I tried (well, I just put a couple println
s in where I thought shutdown
would be invoked) but my example never gets to that point. After the request runs everything is just dropped and the RpcSystem
isn’t polled to completion. That’s why I thought there would have to be something done to the RpcSystem
to let it know that I was done with it. Does my question about cleanly shutting down the RpcSystem
make sense now? Because I’ve already handed the instance off to handle.spawn
I can’t just call a method on it any more so I think I’d have pass in some optional ‘shutdown notifier’ when constructed. I don’t really want to complicate the API because I like how it works now; I’m trying to find the minimum I can do to end up calling shutdown in the correct place just to see if that fixes the issue. I was also thinking it could call shutdown
somehow depending on what state it was in when drop
ped but someone on the tokio gitter suggested that was a bad thing to try and do IO in the drop method. I’ll work on this some more over the weekend.
Good point. Currently there is no way to shut down an RpcSystem
other than dropping it. It sounds like we need to add a way to request a more graceful shutdown that might require waiting on some I/O. I agree that doing I/O in the drop method is not a good idea. My first thought is that we should try splitting RpcSystem
into a driver future and handles, similar to how WriteQueue
is split. Then dropping all handles would signal shutdown, and the driver future would be able to continue driving the execution as necessary.
Note that it might be tempting to starting depending on tokio_core
so that we could pass in a tokio_core::reactor::Handle
for spawning a write task, but I think we should resist that temptation.
If updating the capnp_rpc
API sounds like more than you’d like to tackle right now, then maybe you can find some hack to work around the problem on your end. Perhaps it would work to define a wrapper type for your TLS writer object, like this:
struct Wrapper<W> where W: AsyncWrite { writer: Option<W>, send_on_drop: futures::unsync::oneshot::Sender<W>, } impl <W> AsyncWrite for Wrapper<W> where W: AsyncWrite { ... } impl <W> Drop for Wrapper<W> { fn drop(&mut self) { if let Wrapper { writer: Some(mut w), send_on_drop: Some(mut s), } = *self { s.send(w); } else { unreachable!() } } }
You would wrap your TLS writer with Wrapper
before passing it to the RPC system, and then you would spawn a task to wait on the corresponding oneshot::Receiver
and then call AsyncWrite::shutdown()
when it receives the writer.
Hm… it might also be possible to achieve what you want with a minimal update to the capnp_rpc
API. Maybe we could add a method on RpcSystem
:
impl RpcSystem { fn get_disconnector(&self) -> Disconnector { ... } }
This Disconnector
struct would hold a reference to the ConnectionState
and would be able to call disconnect()
on it, which should trigger a graceful shutdown.
You would then be able to grab a Disconnector
before you push the RpcSystem
onto a spawned task.
Copy link
Contributor
Author
I went the Disconnector
route and that works well, better than expected even: the connection no longer errors out on the server side even though I didn’t call the AsyncWrite::shutdown
method! I’m guessing that’s because the capnp ‘abort’ message triggers the server to close the connection instead but I haven’t dug into that yet. The only thing I had to do that was unexpected was to make sure the tokio core event loop turned again after the disconnect. I think that’s to get the last write out the door and maybe get the disconnect_fulfiller to run. I was thinking that I’d make Disconnector a future and then my poll
wouldn’t return ready until *connection_state.borrow()
matched None
.
What do you think about calling shutdown
in light of the new disconnect behavior? I feel like it’s still the right/clean thing to do but since it isn’t actually a problem now I’m inclined to leave the signatures as Write
.
I went the Disconnector route and that works well, better than expected even: the connection no longer errors out on the server side even though I didn’t call the AsyncWrite::shutdown method! I’m guessing that’s because the capnp ‘abort’ message triggers the server to close the connection instead but I haven’t dug into that yet.
Interesting! Please keep me posted if you get a better picture of what’s going on.
What do you think about calling shutdown in light of the new disconnect behavior?
If we can get away for now with just adding a get_disconnector()
method and not changing the trait requirements on existing methods, then we can avoid the need to bump the version to 0.9
, which would be nice. (I’d like to keep the (most significant) version numbers synced between the capnp, capnpc, and capnp-rpc` crates.)
2 participants